]> git.lizzy.rs Git - rust.git/log
rust.git
21 months agoUpdate miri submodule
Oli Scherer [Wed, 7 Sep 2022 08:43:29 +0000 (08:43 +0000)]
Update miri submodule

21 months agoAuto merge of #101479 - Dylan-DPC:rollup-v8ite0y, r=Dylan-DPC
bors [Tue, 6 Sep 2022 11:16:02 +0000 (11:16 +0000)]
Auto merge of #101479 - Dylan-DPC:rollup-v8ite0y, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #100658 (TyCtxt::get_attr should check that no duplicates are allowed)
 - #101021 (Migrate ``rustc_middle`` diagnostic)
 - #101287 (Document eager evaluation of `bool::then_some` argument)
 - #101412 (Some more cleanup in `core`)
 - #101427 (Fix ICE, generalize 'move generics to trait' suggestion for >0 non-rcvr arguments)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoRollup merge of #101427 - compiler-errors:issue-101421, r=cjgillot
Dylan DPC [Tue, 6 Sep 2022 11:04:45 +0000 (16:34 +0530)]
Rollup merge of #101427 - compiler-errors:issue-101421, r=cjgillot

Fix ICE, generalize 'move generics to trait' suggestion for >0 non-rcvr arguments

Fixes #101421
cc #100838

21 months agoRollup merge of #101412 - WaffleLapkin:improve_std_ptr_code_leftovers, r=scottmcm
Dylan DPC [Tue, 6 Sep 2022 11:04:44 +0000 (16:34 +0530)]
Rollup merge of #101412 - WaffleLapkin:improve_std_ptr_code_leftovers, r=scottmcm

Some more cleanup in `core`

- remove some integer casts from slice iter (proposed in https://github.com/rust-lang/rust/pull/100819#discussion_r951113196)
- replace `as usize` casts with `usize::from` in slice sort (proposed in https://github.com/rust-lang/rust/pull/100822#discussion_r950768698)

r? `@scottmcm`

21 months agoRollup merge of #101287 - Adam-Gleave:doc_bool_then_some, r=scottmcm
Dylan DPC [Tue, 6 Sep 2022 11:04:43 +0000 (16:34 +0530)]
Rollup merge of #101287 - Adam-Gleave:doc_bool_then_some, r=scottmcm

Document eager evaluation of `bool::then_some` argument

I encountered this earlier today and thought maybe `bool::then_some` could use a little addition to the documentation.

It's pretty obvious with familiarity and from looking at the implementation, but the argument for `then_some` is eagerly evaluated, which means if you do the following (as I did), you can have a problem:

```rust
// Oops!
let _ = something
    .has_another_thing()
    .then_some(something.another_thing_or_panic());
```

A note, similar to other methods with eagerly-evaluated arguments and a lazy alternative (`Option::or`, for example), could help point this out to people who forget (like me)!

21 months agoRollup merge of #101021 - MingyuChen1:diagnostic, r=davidtwco
Dylan DPC [Tue, 6 Sep 2022 11:04:42 +0000 (16:34 +0530)]
Rollup merge of #101021 - MingyuChen1:diagnostic, r=davidtwco

Migrate ``rustc_middle`` diagnostic

Part of #100717

21 months agoRollup merge of #100658 - chenyukang:100631-check-get-attr, r=lcnr
Dylan DPC [Tue, 6 Sep 2022 11:04:41 +0000 (16:34 +0530)]
Rollup merge of #100658 - chenyukang:100631-check-get-attr, r=lcnr

TyCtxt::get_attr should check that no duplicates are allowed

Fixes #100631

21 months agoAuto merge of #101362 - compiler-errors:unnecessary-let, r=cjgillot
bors [Tue, 6 Sep 2022 08:49:54 +0000 (08:49 +0000)]
Auto merge of #101362 - compiler-errors:unnecessary-let, r=cjgillot

Suggest removing unnecessary prefix let in patterns

Helps with #101291, though I think `@estebank` probably wants this:

> Finally, I think it'd be nice if we could detect that we don't know for sure and "just" swallow the rest of the expression (find the next ; accounting for nested braces) or the end of the item (easier).

... to be implemented before we close that issue out completely.

21 months agoget_attr should check that no duplicates are allowed
yukang [Tue, 6 Sep 2022 06:16:54 +0000 (14:16 +0800)]
get_attr should check that no duplicates are allowed

21 months agoAuto merge of #101359 - compiler-errors:cannot-call-trait-object-with-unsized-return...
bors [Tue, 6 Sep 2022 05:57:39 +0000 (05:57 +0000)]
Auto merge of #101359 - compiler-errors:cannot-call-trait-object-with-unsized-return, r=lcnr

Point out when a callable is not actually callable because its return is not sized

Fixes #100755

I didn't add a UI test for that one because it's equivalent to the UI test that already exists in the suite.

21 months agoAuto merge of #101241 - camsteffen:refactor-binding-annotations, r=cjgillot
bors [Tue, 6 Sep 2022 03:16:29 +0000 (03:16 +0000)]
Auto merge of #101241 - camsteffen:refactor-binding-annotations, r=cjgillot

`BindingAnnotation` refactor

* `ast::BindingMode` is deleted and replaced with `hir::BindingAnnotation` (which is moved to `ast`)
* `BindingAnnotation` is changed from an enum to a tuple struct e.g. `BindingAnnotation(ByRef::No, Mutability::Mut)`
* Associated constants added for convenience `BindingAnnotation::{NONE, REF, MUT, REF_MUT}`

One goal is to make it more clear that `BindingAnnotation` merely represents syntax `ref mut` and not the actual binding mode. This was especially confusing since we had `ast::BindingMode`->`hir::BindingAnnotation`->`thir::BindingMode`.

I wish there were more symmetry between `ByRef` and `Mutability` (variant) naming (maybe `Mutable::Yes`?), and I also don't love how long the name `BindingAnnotation` is, but this seems like the best compromise. Ideas welcome.

21 months agoAuto merge of #101464 - JohnTitor:rollup-unsjgm6, r=JohnTitor
bors [Tue, 6 Sep 2022 00:23:01 +0000 (00:23 +0000)]
Auto merge of #101464 - JohnTitor:rollup-unsjgm6, r=JohnTitor

Rollup of 7 pull requests

Successful merges:

 - #99291 (Add let else drop order tests)
 - #101402 (Add a Machine hook for inline assembly)
 - #101404 (Fix cleanup for uninitialized stdout)
 - #101418 (Revert "Mention rust-analyzer maintainers when `proc_macro` bridge is changed")
 - #101425 (Point at type parameter in plain path expr)
 - #101426 (Don't duplicate file descriptors into stdio fds)
 - #101447 (Remove generics_def_id_map from the resolver.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoRollup merge of #101447 - cjgillot:no-remap-resolver, r=spastorino
Yuki Okushi [Mon, 5 Sep 2022 23:36:10 +0000 (08:36 +0900)]
Rollup merge of #101447 - cjgillot:no-remap-resolver, r=spastorino

Remove generics_def_id_map from the resolver.

This is internal state for lowering.  This does not belong in the resolver.

r? ``@spastorino``

21 months agoRollup merge of #101426 - beetrees:dup-no-stdio, r=thomcc
Yuki Okushi [Mon, 5 Sep 2022 23:36:09 +0000 (08:36 +0900)]
Rollup merge of #101426 - beetrees:dup-no-stdio, r=thomcc

Don't duplicate file descriptors into stdio fds

Ensures that file descriptors are never duplicated into the stdio fds even if a stdio fd has been closed.

21 months agoRollup merge of #101425 - compiler-errors:point-at-ty-param, r=spastorino
Yuki Okushi [Mon, 5 Sep 2022 23:36:08 +0000 (08:36 +0900)]
Rollup merge of #101425 - compiler-errors:point-at-ty-param, r=spastorino

Point at type parameter in plain path expr

Slightly better error message for a kinda unique use case.

21 months agoRollup merge of #101418 - rust-lang:revert-99183-proc_macro-mention-r-a, r=Mark-Simul...
Yuki Okushi [Mon, 5 Sep 2022 23:36:06 +0000 (08:36 +0900)]
Rollup merge of #101418 - rust-lang:revert-99183-proc_macro-mention-r-a, r=Mark-Simulacrum

Revert "Mention rust-analyzer maintainers when `proc_macro` bridge is changed"

Reverts rust-lang/rust#99183

rust-analyzer is now a subtree, and CI fails when the `proc_macro` bridge changes break our tests, so these notifications aren't needed anymore.

21 months agoRollup merge of #101404 - joboet:always_cleanup_stdout, r=joshtriplett
Yuki Okushi [Mon, 5 Sep 2022 23:36:05 +0000 (08:36 +0900)]
Rollup merge of #101404 - joboet:always_cleanup_stdout, r=joshtriplett

Fix cleanup for uninitialized stdout

Fixes #101375 by disabling buffering even if the buffer was not initialized yet.

21 months agoRollup merge of #101402 - saethlin:inline-asm-hook, r=oli-obk
Yuki Okushi [Mon, 5 Sep 2022 23:36:04 +0000 (08:36 +0900)]
Rollup merge of #101402 - saethlin:inline-asm-hook, r=oli-obk

Add a Machine hook for inline assembly

I'm sketching out some support in Miri to "execute" inline assembly. I want this because there are codebases which have very simple inline assembly like hand-written syscall wrappers, and it would be nice to test such code without modification.

r? ``@oli-obk``

21 months agoRollup merge of #99291 - est31:let_else_tests, r=joshtriplett
Yuki Okushi [Mon, 5 Sep 2022 23:36:03 +0000 (08:36 +0900)]
Rollup merge of #99291 - est31:let_else_tests, r=joshtriplett

Add let else drop order tests

Add a systematic matrix based test that checks temporary drop order in various settings, `let-else-drop-order.rs`, as requested [here](https://github.com/rust-lang/rust/pull/93628#issuecomment-1055738523).

The drop order of let and let else is supposed to be the and in order to ensure this, the test checks that this holds for a number of cases.

The test also ensures that we drop the temporaries of the condition before executing the else block.

cc #87335 tracking issue for `let else`

21 months agoAuto merge of #101460 - rust-lang:update-cargo, r=ehuss
bors [Mon, 5 Sep 2022 21:55:48 +0000 (21:55 +0000)]
Auto merge of #101460 - rust-lang:update-cargo, r=ehuss

Update cargo

8 commits in 4ed54cecce3ce9ab6ff058781f4c8a500ee6b8b5..646e9a0b9ea8354cc409d05f10e8dc752c5de78e
2022-08-27 18:41:39 +0000 to 2022-09-02 14:29:28 +0000
- Support inheriting jobserver fd for external subcommands (rust-lang/cargo#10511)
- refactor(cli): Lazy load config (rust-lang/cargo#11029)
- chore: Don't show genned docs in ripgrep (rust-lang/cargo#11040)
- Document private items for Cargo and publish under contributor guide (rust-lang/cargo#11019)
- Add names to CI jobs (rust-lang/cargo#11039)
- Rework test error handling (rust-lang/cargo#11028)
- Very slight `cargo add` documentation improvements (rust-lang/cargo#11033)
- Update compiling requirements. (rust-lang/cargo#11030)

21 months agoPoint out when a callable is not actually callable because its return is not sized
Michael Goulet [Sat, 3 Sep 2022 03:46:41 +0000 (03:46 +0000)]
Point out when a callable is not actually callable because its return is not sized

21 months agoFix ICE, generalize 'move generics to trait' suggestion for >0 non-rcvr arguments
Michael Goulet [Mon, 5 Sep 2022 00:23:02 +0000 (00:23 +0000)]
Fix ICE, generalize 'move generics to trait' suggestion for >0 non-rcvr arguments

21 months agoUpdate cargo
Weihang Lo [Mon, 5 Sep 2022 17:34:53 +0000 (18:34 +0100)]
Update cargo

8 commits in 4ed54cecce3ce9ab6ff058781f4c8a500ee6b8b5..646e9a0b9ea8354cc409d05f10e8dc752c5de78e
2022-08-27 18:41:39 +0000 to 2022-09-02 14:29:28 +0000
- Support inheriting jobserver fd for external subcommands (rust-lang/cargo#10511)
- refactor(cli): Lazy load config (rust-lang/cargo#11029)
- chore: Don't show genned docs in ripgrep (rust-lang/cargo#11040)
- Document private items for Cargo and publish under contributor guide (rust-lang/cargo#11019)
- Add names to CI jobs (rust-lang/cargo#11039)
- Rework test error handling (rust-lang/cargo#11028)
- Very slight `cargo add` documentation improvements (rust-lang/cargo#11033)
- Update compiling requirements. (rust-lang/cargo#11030)

21 months agoAuto merge of #101261 - TaKO8Ki:separate-receiver-from-arguments-in-hir, r=cjgillot
bors [Mon, 5 Sep 2022 16:21:40 +0000 (16:21 +0000)]
Auto merge of #101261 - TaKO8Ki:separate-receiver-from-arguments-in-hir, r=cjgillot

Separate the receiver from arguments in HIR

Related to #100232

cc `@cjgillot`

21 months agofix comment
111 [Mon, 5 Sep 2022 15:18:18 +0000 (23:18 +0800)]
fix comment

21 months agouse `propagate_through_exprs` instead of `propagate_through_expr`
Takayuki Maeda [Mon, 5 Sep 2022 05:26:00 +0000 (14:26 +0900)]
use `propagate_through_exprs` instead of `propagate_through_expr`

fix `ExprKind` static_assert_size

fix hir-stats

21 months agoAuto merge of #101228 - nnethercote:simplify-hir-PathSegment, r=petrochenkov
bors [Mon, 5 Sep 2022 13:36:54 +0000 (13:36 +0000)]
Auto merge of #101228 - nnethercote:simplify-hir-PathSegment, r=petrochenkov

Simplify `hir::PathSegment`

r? `@petrochenkov`

21 months agorefactor: remove unnecessary variables
Takayuki Maeda [Fri, 2 Sep 2022 13:48:14 +0000 (22:48 +0900)]
refactor: remove unnecessary variables

21 months agoseparate the receiver from arguments in HIR under /clippy
Takayuki Maeda [Thu, 1 Sep 2022 09:43:35 +0000 (18:43 +0900)]
separate the receiver from arguments in HIR under /clippy

21 months agoseparate the receiver from arguments in HIR
Takayuki Maeda [Thu, 1 Sep 2022 04:27:31 +0000 (13:27 +0900)]
separate the receiver from arguments in HIR

21 months agoRemove generics_def_id_map from the resolver.
Camille GILLOT [Sun, 14 Aug 2022 16:25:19 +0000 (18:25 +0200)]
Remove generics_def_id_map from the resolver.

21 months agoAdd matrix based test for documenting the let / let else temporary drop order
est31 [Fri, 15 Jul 2022 17:17:10 +0000 (19:17 +0200)]
Add matrix based test for documenting the let / let else temporary drop order

The drop order of let and let else is supposed to be the same,
and in order to ensure this, the test checks that this holds for
the given list of cases.

The test also ensures that we drop the temporaries of the
condition before executing the else block.

We made the test matrix based so it can check all the possible
combinations and find out possible edge cases.

21 months agoAuto merge of #101439 - Dylan-DPC:rollup-2wf1mtj, r=Dylan-DPC
bors [Mon, 5 Sep 2022 09:48:49 +0000 (09:48 +0000)]
Auto merge of #101439 - Dylan-DPC:rollup-2wf1mtj, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #101142 (Improve HIR stats)
 - #101367 (Suggest `{Option,Result}::{copied,clone}()` to satisfy type mismatch)
 - #101391 (more clippy::perf fixes)
 - #101409 (Don't fire `rust_2021_incompatible_closure_captures` in `edition = 2021` crates)
 - #101420 (Fix `hir::Local` doc to match with the variable name used: `init`)
 - #101429 (Don't suggest reborrow if usage is inside a closure)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoRollup merge of #101429 - compiler-errors:issue-101119, r=lcnr
Dylan DPC [Mon, 5 Sep 2022 08:45:55 +0000 (14:15 +0530)]
Rollup merge of #101429 - compiler-errors:issue-101119, r=lcnr

Don't suggest reborrow if usage is inside a closure

I can't think of why we would ever be able to *successfully* suggest a mutable reborrow `&mut *` due to a move happening due to a closure, so just suppress it.

Fixes #101119

21 months agoRollup merge of #101420 - kraktus:doc_hir_local, r=cjgillot
Dylan DPC [Mon, 5 Sep 2022 08:45:54 +0000 (14:15 +0530)]
Rollup merge of #101420 - kraktus:doc_hir_local, r=cjgillot

Fix `hir::Local` doc to match with the variable name used: `init`

21 months agoRollup merge of #101409 - WaffleLapkin:rust_2021_compatibility_no_warn_in_2021_crates...
Dylan DPC [Mon, 5 Sep 2022 08:45:53 +0000 (14:15 +0530)]
Rollup merge of #101409 - WaffleLapkin:rust_2021_compatibility_no_warn_in_2021_crates, r=TaKO8Ki

Don't fire `rust_2021_incompatible_closure_captures` in `edition = 2021` crates

Fixes #101284

21 months agoRollup merge of #101391 - matthiaskrgr:perf0309, r=oli-obk
Dylan DPC [Mon, 5 Sep 2022 08:45:52 +0000 (14:15 +0530)]
Rollup merge of #101391 - matthiaskrgr:perf0309, r=oli-obk

more clippy::perf fixes

21 months agoRollup merge of #101367 - compiler-errors:suggest-copied-or-cloned, r=lcnr
Dylan DPC [Mon, 5 Sep 2022 08:45:51 +0000 (14:15 +0530)]
Rollup merge of #101367 - compiler-errors:suggest-copied-or-cloned, r=lcnr

Suggest `{Option,Result}::{copied,clone}()` to satisfy type mismatch

Fixes #100699, but in the opposite direction (instead of suggesting to fix the signature, it fixes the body)

21 months agoRollup merge of #101142 - nnethercote:improve-hir-stats, r=davidtwco
Dylan DPC [Mon, 5 Sep 2022 08:45:51 +0000 (14:15 +0530)]
Rollup merge of #101142 - nnethercote:improve-hir-stats, r=davidtwco

Improve HIR stats

#100398 improve the AST stats collection done by `-Zhir-stats`. This PR does the same for HIR stats collection.

r? `@davidtwco`

21 months agostd: fix cleanup for uninitialized stdout (#101375)
joboet [Mon, 5 Sep 2022 07:08:07 +0000 (09:08 +0200)]
std: fix cleanup for uninitialized stdout (#101375)

21 months agoAuto merge of #101414 - mystor:pm_nested_cross_thread, r=eddyb
bors [Mon, 5 Sep 2022 07:07:38 +0000 (07:07 +0000)]
Auto merge of #101414 - mystor:pm_nested_cross_thread, r=eddyb

proc_macro/bridge: use the cross-thread executor for nested proc-macros

While working on some other changes in the bridge, I noticed that when
running a nested proc-macro (which is currently only possible using
the unstable `TokenStream::expand_expr`), any symbols held by the
proc-macro client would be invalidated, as the same thread would be used
for the nested macro by default, and the interner doesn't handle nested
use.

After discussing with `@eddyb,` we decided the best approach might be to
force the use of the cross-thread executor for nested invocations, as it
will never re-use thread-local storage, avoiding the issue. This
shouldn't impact performance, as expand_expr is still unstable, and
infrequently used.

This was chosen rather than making the client symbol interner handle
nested invocations, as that would require replacing the internal
interner `Vec` with a `BTreeMap` (as valid symbol id ranges could now be
disjoint), and the symbol interner is known to be fairly perf-sensitive.

This patch adds checks to the execution strategy to use the cross-thread
executor when doing nested invocations. An alternative implementation
strategy could be to track this information in the `ExtCtxt`, however a
thread-local in the `proc_macro` crate was chosen to add an assertion so
that `rust-analyzer` is aware of the issue if it implements
`expand_expr` in the future.

r? `@eddyb`

21 months agoDon't suggest reborrow if usage is inside a closure
Michael Goulet [Mon, 5 Sep 2022 04:26:37 +0000 (04:26 +0000)]
Don't suggest reborrow if usage is inside a closure

21 months agoAddress review comments.
Nicholas Nethercote [Wed, 31 Aug 2022 22:44:20 +0000 (08:44 +1000)]
Address review comments.

21 months agoMake `hir::PathSegment::hir_id` non-optional.
Nicholas Nethercote [Tue, 30 Aug 2022 06:54:42 +0000 (16:54 +1000)]
Make `hir::PathSegment::hir_id` non-optional.

21 months agoMake `hir::PathSegment::res` non-optional.
Nicholas Nethercote [Tue, 30 Aug 2022 05:10:28 +0000 (15:10 +1000)]
Make `hir::PathSegment::res` non-optional.

21 months agoRemove dead code from `print_generic_args`.
Nicholas Nethercote [Tue, 30 Aug 2022 23:08:46 +0000 (09:08 +1000)]
Remove dead code from `print_generic_args`.

21 months agoAdd some blank lines to the definition of `Res`.
Nicholas Nethercote [Tue, 30 Aug 2022 23:05:42 +0000 (09:05 +1000)]
Add some blank lines to the definition of `Res`.

To make the spacing consistent.

Also shorten an overly long comment line.

21 months agoAuto merge of #101386 - aDotInTheVoid:rdj-discriminant, r=GuillaumeGomez
bors [Mon, 5 Sep 2022 04:16:08 +0000 (04:16 +0000)]
Auto merge of #101386 - aDotInTheVoid:rdj-discriminant, r=GuillaumeGomez

Rustdoc-Json: Add enum discriminant

Does the first part of #101337, by adding it to `clean`, but doesn't change HTML output, as

1. [No Consensus has appeared on the UI for this](https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/Enum.20discriminant.20values.20in.20HTML.20output)
2. [When inlining across crates, information is lost](https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/.60clean_variant_def.20.60vs.20.60clean_variant_data.60)

JSON doesn't have either of these limitations.

r? `@GuillaumeGomez`

21 months agoAuto merge of #100759 - fee1-dead-contrib:const_eval_select_real_intrinsic, r=oli...
bors [Mon, 5 Sep 2022 01:35:01 +0000 (01:35 +0000)]
Auto merge of #100759 - fee1-dead-contrib:const_eval_select_real_intrinsic, r=oli-obk,RalfJung

Make `const_eval_select` a real intrinsic

This fixes issues where `track_caller` functions do not have nice panic
messages anymore when there is a call to the function, and uses the
MIR system to replace the call instead of dispatching via lang items.

Fixes #100696.

21 months agoAuto merge of #100576 - joboet:movable_const_remutex, r=Mark-Simulacrum
bors [Sun, 4 Sep 2022 22:53:58 +0000 (22:53 +0000)]
Auto merge of #100576 - joboet:movable_const_remutex, r=Mark-Simulacrum

Make `ReentrantMutex` movable and `const`

As `MovableMutex` is now `const`, it can be used to simplify the implementation and interface of the internal reentrant mutex type. Consequently, the standard error stream does not need to be wrapped in `OnceLock` and `OnceLock::get_or_init_pin()` can be removed.

21 months agoPoint at type parameter in plain path expr
Michael Goulet [Sun, 4 Sep 2022 20:48:39 +0000 (20:48 +0000)]
Point at type parameter in plain path expr

21 months agoAuto merge of #93455 - asquared31415:vec-zero-opts, r=thomcc
bors [Sun, 4 Sep 2022 20:33:50 +0000 (20:33 +0000)]
Auto merge of #93455 - asquared31415:vec-zero-opts, r=thomcc

Implement internal `IsZero` for Wrapping and Saturating for `Vec` optimizations

This implements the `IsZero` trait for the `Wrapping` and `Saturating` types so that users of these types can get the improved performance from the specialization of creating a `Vec` from a single element repeated when it has a zero bit pattern (example `vec![0_i32; 500]`, or after this PR `vec![Wrapping(0_i32); 500]`)

CC #60978

21 months agoFix `hir::Local` doc to match with the variable name used: `init`
kraktus [Sun, 4 Sep 2022 19:46:28 +0000 (21:46 +0200)]
Fix `hir::Local` doc to match with the variable name used: `init`

21 months agoRevert "Mention rust-analyzer maintainers when `proc_macro` bridge is changed"
Jonas Schievink [Sun, 4 Sep 2022 19:11:31 +0000 (21:11 +0200)]
Revert "Mention rust-analyzer maintainers when `proc_macro` bridge is changed"

21 months agoAuto merge of #101411 - matthiaskrgr:rollup-uj24yb5, r=matthiaskrgr
bors [Sun, 4 Sep 2022 18:10:04 +0000 (18:10 +0000)]
Auto merge of #101411 - matthiaskrgr:rollup-uj24yb5, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #101322 (Fix internal doc link)
 - #101385 (updated description of File struct in std::fs)
 - #101388 (Don't delay invalid LHS bug unless it will be covered by an error in `check_overloaded_binop`)
 - #101394 (Forbid mixing `System` with direct sytem allocator calls)
 - #101397 (rustdoc: remove redundant mobile-sized `.source nav:not(.sidebar).sub`)
 - #101401 (Make `char::is_lowercase` and `char::is_uppercase` const)
 - #101407 (Remove duplicated test (superseeded by search-form-elements.goml))

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoproc_macro/bridge: use the cross-thread executor for nested proc-macros
Nika Layzell [Sun, 4 Sep 2022 16:53:29 +0000 (12:53 -0400)]
proc_macro/bridge: use the cross-thread executor for nested proc-macros

While working on some other changes in the bridge, I noticed that when
running a nested proc-macro (which is currently only possible using
the unstable `TokenStream::expand_expr`), any symbols held by the
proc-macro client would be invalidated, as the same thread would be used
for the nested macro by default, and the interner doesn't handle nested
use.

After discussing with @eddyb, we decided the best approach might be to
force the use of the cross-thread executor for nested invocations, as it
will never re-use thread-local storage, avoiding the issue. This
shouldn't impact performance, as expand_expr is still unstable, and
infrequently used.

This was chosen rather than making the client symbol interner handle
nested invocations, as that would require replacing the internal
interner `Vec` with a `BTreeMap` (as valid symbol id ranges could now be
disjoint), and the symbol interner is known to be fairly perf-sensitive.

This patch adds checks to the execution strategy to use the cross-thread
executor when doing nested invocations. An alternative implementation
strategy could be to track this information in the `ExtCtxt`, however a
thread-local in the `proc_macro` crate was chosen to add an assertion so
that `rust-analyzer` is aware of the issue if it implements
`expand_expr` in the future.

r? @eddyb

21 months agoRollup merge of #101407 - GuillaumeGomez:rm-duplicated-gui-test, r=Dylan-DPC
Matthias Krüger [Sun, 4 Sep 2022 16:55:50 +0000 (18:55 +0200)]
Rollup merge of #101407 - GuillaumeGomez:rm-duplicated-gui-test, r=Dylan-DPC

Remove duplicated test (superseeded by search-form-elements.goml)

I realized it when I worked on https://github.com/rust-lang/rust/pull/101348. The checks are more complete in `search-form-elements.goml` (for example [here](https://github.com/rust-lang/rust/blob/master/src/test/rustdoc-gui/search-form-elements.goml#L12-L29)).

r? `@Dylan-DPC`

21 months agoRollup merge of #101401 - mx00s:expand-const, r=fee1-dead
Matthias Krüger [Sun, 4 Sep 2022 16:55:48 +0000 (18:55 +0200)]
Rollup merge of #101401 - mx00s:expand-const, r=fee1-dead

Make `char::is_lowercase` and `char::is_uppercase` const

Implements #101400.

21 months agoRollup merge of #101397 - notriddle:notriddle/source-nav-not-sidebar-sub, r=Guillaume...
Matthias Krüger [Sun, 4 Sep 2022 16:55:47 +0000 (18:55 +0200)]
Rollup merge of #101397 - notriddle:notriddle/source-nav-not-sidebar-sub, r=GuillaumeGomez

rustdoc: remove redundant mobile-sized `.source nav:not(.sidebar).sub`

It's redundant because there's already a selector `.source nav.sub` with exactly the same margin-left at [line 796].

[line 796]: https://github.com/rust-lang/rust/blob/84f0c3f79a85329dd79a54694ff8a7f427c842e9/src/librustdoc/html/static/css/rustdoc.css#L796

This selector was added in 1e98fb10274ea0245f865ddb1e295e454382000b, along with an identical desktop selector, but that desktop selector was removed in 6a5f8b1aef1417d7dc85b5d0a229d2db1930eb7c as part of a larger simplification.

21 months agoRollup merge of #101394 - CAD97:patch-3, r=Mark-Simulacrum
Matthias Krüger [Sun, 4 Sep 2022 16:55:46 +0000 (18:55 +0200)]
Rollup merge of #101394 - CAD97:patch-3, r=Mark-Simulacrum

Forbid mixing `System` with direct sytem allocator calls

e.g. [on windows](https://github.com/rust-lang/rust/blob/dec689432fac6720b2f18101ac28a21add98b1b8/library/std/src/sys/windows/alloc.rs#L129-L178), trying to mix `System::alloc` and `HeapFree` will not work because of the extra work done to serve higher alignments.

21 months agoRollup merge of #101388 - compiler-errors:issue-101376, r=fee1-dead
Matthias Krüger [Sun, 4 Sep 2022 16:55:45 +0000 (18:55 +0200)]
Rollup merge of #101388 - compiler-errors:issue-101376, r=fee1-dead

Don't delay invalid LHS bug unless it will be covered by an error in `check_overloaded_binop`

Fixes #101376

21 months agoRollup merge of #101385 - BartMassey-upstream:file-doc, r=thomcc
Matthias Krüger [Sun, 4 Sep 2022 16:55:43 +0000 (18:55 +0200)]
Rollup merge of #101385 - BartMassey-upstream:file-doc, r=thomcc

updated description of File struct in std::fs

I've seen several folks confused by the description of `std::fs::File` as "A reference to an open file on the filesystem." Apparently the word `reference` is sometimes taken to mean a Rust `&` reference, leading to confusion. Here's a recent representative [Reddit thread](https://www.reddit.com/r/rust/comments/x4k0lv/comment/imxu7v2/?utm_source=share&utm_medium=web2x&context=3), but I've seen this before as well.

This patch changes the description to "An object providing access to an open file on the filesystem." Hopefully this is clearer.

21 months agoRollup merge of #101322 - ChrisDenton:internal-doc, r=Mark-Simulacrum
Matthias Krüger [Sun, 4 Sep 2022 16:55:42 +0000 (18:55 +0200)]
Rollup merge of #101322 - ChrisDenton:internal-doc, r=Mark-Simulacrum

Fix internal doc link

The doc link from `DedupSortedIter` to `BTreeMap::bulk_build_from_sorted_iter` was broken when building internal documentation,

This prevented me from building internal documentation locally:

```
R:\Rust\rust> $env:RUSTDOCFLAGS="--document-private-items"
R:\Rust\rust> x doc library/std --open --stage 0
Building rustbuild
   Compiling bootstrap v0.0.0 (R:\Rust\rust\src\bootstrap)
    Finished dev [unoptimized] target(s) in 3.15s
Documenting stage0 std (x86_64-pc-windows-msvc)
 Documenting core v0.0.0 (R:\Rust\rust\library\core)
    Finished release [optimized] target(s) in 36.42s
    Checking core v0.0.0 (R:\Rust\rust\library\core)
    Checking rustc-std-workspace-core v1.99.0 (R:\Rust\rust\library\rustc-std-workspace-core)
    Checking compiler_builtins v0.1.79
 Documenting alloc v0.0.0 (R:\Rust\rust\library\alloc)
error: unresolved link to `BTreeMap::bulk_build_from_sorted_iter`
 --> library\alloc\src\collections\btree\dedup_sorted_iter.rs:6:15
  |
6 | /// Used by [`BTreeMap::bulk_build_from_sorted_iter`].
  |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `BTreeMap` in scope
  |
  = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings`

error: could not document `alloc`
```

21 months agoreplace `as usize` casts with `usize::from` in slice sort
Maybe Waffle [Sun, 4 Sep 2022 16:54:51 +0000 (20:54 +0400)]
replace `as usize` casts with `usize::from` in slice sort

21 months agoremove some integer casts from slice iter
Maybe Waffle [Sun, 4 Sep 2022 16:45:29 +0000 (20:45 +0400)]
remove some integer casts from slice iter

21 months agoDon't fire `rust_2021_incompatible_closure_captures` in edition = 2021
Maybe Waffle [Sun, 4 Sep 2022 14:26:48 +0000 (18:26 +0400)]
Don't fire `rust_2021_incompatible_closure_captures` in edition = 2021

21 months agoTest internal documentation
Chris Denton [Sun, 4 Sep 2022 15:51:11 +0000 (16:51 +0100)]
Test internal documentation

21 months agoAddress feedback from PR #101401
Sage Mitchell [Sun, 4 Sep 2022 15:07:00 +0000 (08:07 -0700)]
Address feedback from PR #101401

21 months agoMake `char::is_lowercase` and `char::is_uppercase` const
Sage Mitchell [Sat, 3 Sep 2022 03:52:28 +0000 (20:52 -0700)]
Make `char::is_lowercase` and `char::is_uppercase` const

Implements #101400.

21 months agoRemove duplicated test (superseeded by search-form-elements.goml)
Guillaume Gomez [Sun, 4 Sep 2022 13:16:55 +0000 (15:16 +0200)]
Remove duplicated test (superseeded by search-form-elements.goml)

21 months agoAuto merge of #101296 - compiler-errors:head-span-for-enclosing-scope, r=oli-obk
bors [Sun, 4 Sep 2022 13:03:07 +0000 (13:03 +0000)]
Auto merge of #101296 - compiler-errors:head-span-for-enclosing-scope, r=oli-obk

Use head span for `rustc_on_unimplemented`'s `enclosing_scope` attr

This may make #101281 slightly easier to understand

21 months agoAdd `inline(always)` to rt functions
Deadbeef [Thu, 1 Sep 2022 10:53:17 +0000 (18:53 +0800)]
Add `inline(always)` to rt functions

21 months agoremap mir before running optimization passes
Deadbeef [Wed, 31 Aug 2022 13:28:55 +0000 (13:28 +0000)]
remap mir before running optimization passes

21 months agoAdd `inline(always)` to function generated by macro
Deadbeef [Fri, 26 Aug 2022 16:44:07 +0000 (16:44 +0000)]
Add `inline(always)` to function generated by macro

21 months agoMake `const_eval_select` a real intrinsic
Deadbeef [Tue, 23 Aug 2022 00:07:26 +0000 (00:07 +0000)]
Make `const_eval_select` a real intrinsic

21 months agorustdoc: Compute enum discriminant on demand
Nixon Enraght-Moony [Sun, 4 Sep 2022 11:53:25 +0000 (12:53 +0100)]
rustdoc: Compute enum discriminant on demand

21 months agoAuto merge of #101250 - klensy:bump-deps-08-22, r=Dylan-DPC
bors [Sun, 4 Sep 2022 10:43:44 +0000 (10:43 +0000)]
Auto merge of #101250 - klensy:bump-deps-08-22, r=Dylan-DPC

bump deps

Update few crates to drop old/duplicated versions.

updates pest* crates (no separate changelog, sadly: https://github.com/pest-parser/pest/releases), thiserror, handlebars(https://github.com/sunng87/handlebars-rust/blob/v4.3.3/CHANGELOG.md#433---2022-07-20) to drop old ones:
```
 Removing block-buffer v0.7.3
 Removing block-padding v0.1.5
 Removing byte-tools v0.3.1
 Removing byteorder v1.3.4
 Removing digest v0.8.1
 Removing fake-simd v0.1.2
 Removing generic-array v0.12.4
 Updating handlebars v4.1.0 -> v4.3.3
 Removing opaque-debug v0.2.3
 Updating pest v2.1.3 -> v2.3.0
 Updating pest_derive v2.1.0 -> v2.3.0
 Updating pest_generator v2.1.3 -> v2.3.0
 Updating pest_meta v2.1.3 -> v2.3.0
 Removing quick-error v2.0.0
 Removing sha-1 v0.8.2
 Updating thiserror v1.0.30 -> v1.0.33
 Updating thiserror-impl v1.0.30 -> v1.0.33
```

combine v4.6.3 -> v4.6.6: drops `use_std` features, addressed this comment:
https://github.com/rust-lang/rust/blob/4fd4de7ea358ad6fc28c5780533ea8ccc09e1006/src/tools/rustc-workspace-hack/Cargo.toml#L80-L82

im-rc v15.0.0 -> v15.1.0 to drop rand_xoshiro duplicated version
```
Updating im-rc v15.0.0 -> v15.1.0
Removing rand_xoshiro v0.4.0
```

21 months agoDon't duplicate file descriptors into stdio fds
beetrees [Sun, 4 Sep 2022 09:22:36 +0000 (10:22 +0100)]
Don't duplicate file descriptors into stdio fds

21 months agoAuto merge of #100726 - jswrenn:transmute, r=oli-obk
bors [Sun, 4 Sep 2022 07:55:44 +0000 (07:55 +0000)]
Auto merge of #100726 - jswrenn:transmute, r=oli-obk

safe transmute: use `Assume` struct to provide analysis options

This task was left as a TODO in #92268; resolving it brings [`BikeshedIntrinsicFrom`](https://doc.rust-lang.org/nightly/core/mem/trait.BikeshedIntrinsicFrom.html) more in line with the API defined in [MCP411](https://github.com/rust-lang/compiler-team/issues/411).

**Before:**
```rust
pub unsafe trait BikeshedIntrinsicFrom<
    Src,
    Context,
    const ASSUME_ALIGNMENT: bool,
    const ASSUME_LIFETIMES: bool,
    const ASSUME_VALIDITY: bool,
    const ASSUME_VISIBILITY: bool,
> where
    Src: ?Sized,
{}
```
**After:**
```rust
pub unsafe trait BikeshedIntrinsicFrom<Src, Context, const ASSUME: Assume = { Assume::NOTHING }>
where
    Src: ?Sized,
{}
```

`Assume::visibility` has also been renamed to `Assume::safety`, as library safety invariants are what's actually being assumed; visibility is just the mechanism by which it is currently checked (and that may change).

r? `@oli-obk`

---

Related:
- https://github.com/rust-lang/compiler-team/issues/411
- https://github.com/rust-lang/rust/issues/99571

21 months agoAlso suggest dereferencing LHS when both &mut T and T are valid binop LHS
Michael Goulet [Sat, 3 Sep 2022 19:13:17 +0000 (19:13 +0000)]
Also suggest dereferencing LHS when both &mut T and T are valid binop LHS

21 months agoAuto merge of #101312 - nikic:update-llvm-7, r=cuviper
bors [Sun, 4 Sep 2022 05:14:34 +0000 (05:14 +0000)]
Auto merge of #101312 - nikic:update-llvm-7, r=cuviper

Update LLVM submodule

This updates to the current 15.x branch plus one cherry-pick.

Fixes #100834.
Fixes #101121.

21 months agoAuto merge of #101396 - matthiaskrgr:rollup-9n0257m, r=matthiaskrgr
bors [Sun, 4 Sep 2022 02:59:45 +0000 (02:59 +0000)]
Auto merge of #101396 - matthiaskrgr:rollup-9n0257m, r=matthiaskrgr

Rollup of 4 pull requests

Successful merges:

 - #100302 (Suggest associated method on deref types when path syntax method fails)
 - #100647 ( Make trait bound not satisfied specify kind)
 - #101349 (rustdoc: remove `.impl-items { flex-basis }` CSS, not in flex container)
 - #101369 (Fix `global_asm` macro pretty printing)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoAddress nits, rename enclosing_scope => parent_label
Michael Goulet [Sun, 4 Sep 2022 02:10:31 +0000 (02:10 +0000)]
Address nits, rename enclosing_scope => parent_label

21 months agoUse head span for rustc_on_unimplemented's enclosing_scope attr
Michael Goulet [Thu, 1 Sep 2022 19:52:39 +0000 (19:52 +0000)]
Use head span for rustc_on_unimplemented's enclosing_scope attr

21 months agorustdoc: remove redundant mobile-sized `.source nav:not(.sidebar).sub`
Michael Howell [Sat, 3 Sep 2022 22:07:48 +0000 (15:07 -0700)]
rustdoc: remove redundant mobile-sized `.source nav:not(.sidebar).sub`

It's redundant because there's already a selector `.source nav.sub` with
exactly the same margin-left at line 796.

This selector was added in 1e98fb10274ea0245f865ddb1e295e454382000b, along
with an identical desktop selector, but that desktop selector was removed in
6a5f8b1aef1417d7dc85b5d0a229d2db1930eb7c as part of a larger simplification.

21 months agoRollup merge of #101369 - compiler-errors:global-asm-pprint, r=jackh726
Matthias Krüger [Sat, 3 Sep 2022 22:20:43 +0000 (00:20 +0200)]
Rollup merge of #101369 - compiler-errors:global-asm-pprint, r=jackh726

Fix `global_asm` macro pretty printing

Fixes #101051
Fixes #101047

21 months agoRollup merge of #101349 - notriddle:notriddle/flex-basis, r=GuillaumeGomez
Matthias Krüger [Sat, 3 Sep 2022 22:20:42 +0000 (00:20 +0200)]
Rollup merge of #101349 - notriddle:notriddle/flex-basis, r=GuillaumeGomez

rustdoc: remove `.impl-items { flex-basis }` CSS, not in flex container

Added in 34bd2b845b3acd84c5a9bddae3ff8081c19ec5e9

For this to actually do anything, [according to MDN] (and Firefox Dev Tools), it must be a "flex item", which only happens if its a direct child of a node with `display: flex` on it. It seems like it could not have worked at the time when this rule was added, because the only items in `rustdoc.css` with `display: flex` active were:

* `#help`

  This should not contain anything like this.

* `.impl-items h4, h4.impl, h3.impl`

  These are all headers, so they shouldn't contain `.impl-items` either.

* `.content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant`

  Associated constants and methods definitely shouldn't contain a list of impl items, and the `.type` class seems to refer to type aliases, which, when shown inside of an impl, only show a link to the aliased type.

[according to MDN]: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis

Nowadays, `display: flex` is a lot more prolific, but `.impl-items` still seems to only be used in plain block parents:

* If it's not a trait impl, then it's nested below a `<div>` with an id but no class, added in a5216cf67d93de97091b41ecba85de2e08f39863. This will be `display: block`, probably. For example, [vec deref]
* Inherent impls also get a `<div>` tag, for example [vec impl], and they are also wrapped by their own non-flexbox `<details>` tag.
* If it's a tait implementation, then it's also nested below a `<details>` container, like [deref cstring].

[vec impl]: https://doc.rust-lang.org/1.63.0/std/vec/struct.Vec.html#impl
[vec deref]: https://doc.rust-lang.org/1.63.0/std/vec/struct.Vec.html#deref-methods-%5BT%5D
[deref cstring]: https://doc.rust-lang.org/1.63.0/std/ops/trait.Deref.html#impl-Deref

Also, this would imply that trait items ought to take up as much space as possible, pushing everything else to the edge of the screen. If this is nested directly below the `.rustdoc` container, which has a row basis, that would be bad.

21 months agoRollup merge of #100647 - obeis:issue-99875, r=nagisa
Matthias Krüger [Sat, 3 Sep 2022 22:20:40 +0000 (00:20 +0200)]
Rollup merge of #100647 - obeis:issue-99875, r=nagisa

 Make trait bound not satisfied specify kind

Closes #99875

21 months agoRollup merge of #100302 - compiler-errors:deref-path-methods, r=jackh726
Matthias Krüger [Sat, 3 Sep 2022 22:20:39 +0000 (00:20 +0200)]
Rollup merge of #100302 - compiler-errors:deref-path-methods, r=jackh726

Suggest associated method on deref types when path syntax method fails

Fixes #100278

21 months agoAdd a Machine hook for inline assembly
Ben Kimock [Sat, 3 Sep 2022 01:22:43 +0000 (21:22 -0400)]
Add a Machine hook for inline assembly

21 months agoForbid mixing `System` with sytem allocator calls
Christopher Durham [Sat, 3 Sep 2022 21:47:12 +0000 (16:47 -0500)]
Forbid mixing `System` with sytem allocator calls

21 months agorustdoc: remove `.impl-items { flex-basis }` CSS, not in flex container
Michael Howell [Fri, 2 Sep 2022 22:44:06 +0000 (15:44 -0700)]
rustdoc: remove `.impl-items { flex-basis }` CSS, not in flex container

Added in 34bd2b845b3acd84c5a9bddae3ff8081c19ec5e9

For this to actually do anything, [according to MDN] (and Firefox Dev Tools),
it must be a "flex item", which only happens if its a direct child of a node
with `display: flex` on it. It seems like it could not have worked at the time
when this rule was added, because the only items in `rustdoc.css` with
`display: flex` active were:

* `#help`

  This should not contain anything like this.

* `.impl-items h4, h4.impl, h3.impl`

  These are all headers, so they shouldn't contain `.impl-items` either.

* `.content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant`

  Associated constants and methods definitely shouldn't contain a list of impl
  items, and the `.type` class seems to refer to type aliases, which, when
  shown inside of an impl, only show a link to the aliased type.

[according to MDN]: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis

Nowadays, `display: flex` is a lot more prolific, but `.impl-items` still
seems to only be used in plain block parents:

* If it's not a trait impl, then it's nested below a `<div>` with an id but no
  class, added in a5216cf67d93de97091b41ecba85de2e08f39863. This will be
  `display: block`, probably. For example, [vec deref]
* Inherent impls also get a `<div>` tag, for example [vec impl], and they are
  also wrapped by their own non-flexbox `<details>` tag.
* If it's a tait implementation, then it's also nested below a `<details>`
  container, like [deref cstring].

[vec impl]: https://doc.rust-lang.org/1.63.0/std/vec/struct.Vec.html#impl
[vec deref]: https://doc.rust-lang.org/1.63.0/std/vec/struct.Vec.html#deref-methods-%5BT%5D
[deref cstring]: https://doc.rust-lang.org/1.63.0/std/ops/trait.Deref.html#impl-Deref

Also, this would imply that trait items ought to take up as much space as
possible, pushing everything else to the edge of the screen. If this is nested
directly below the `.rustdoc` container, which has a row basis, that would
be bad.

21 months agoRustdoc-Json: Add enum discriminant
Nixon Enraght-Moony [Sat, 3 Sep 2022 18:36:28 +0000 (19:36 +0100)]
Rustdoc-Json: Add enum discriminant

21 months agomore clippy::perf fixes
Matthias Krüger [Sat, 3 Sep 2022 20:57:22 +0000 (22:57 +0200)]
more clippy::perf fixes

21 months agoAuto merge of #101214 - cjgillot:old-no-lt, r=estebank
bors [Sat, 3 Sep 2022 19:32:41 +0000 (19:32 +0000)]
Auto merge of #101214 - cjgillot:old-no-lt, r=estebank

Do not call object_lifetime_default on lifetime params.

Small cleanup to avoid unnecessary query invocations in trivial cases.

21 months agoDon't delay invalid lhs bug unless we know it'll be replaced by one in check_overload...
Michael Goulet [Sat, 3 Sep 2022 19:12:44 +0000 (19:12 +0000)]
Don't delay invalid lhs bug unless we know it'll be replaced by one in check_overloaded_binop

21 months agoDo not call object_lifetime_default on lifetime params.
Camille GILLOT [Tue, 30 Aug 2022 20:47:58 +0000 (22:47 +0200)]
Do not call object_lifetime_default on lifetime params.

21 months agoupdated description of File struct in std::fs
Bart Massey [Sat, 3 Sep 2022 18:09:06 +0000 (11:09 -0700)]
updated description of File struct in std::fs

21 months agoAuto merge of #101342 - saethlin:update-backtrace, r=Mark-Simulacrum
bors [Sat, 3 Sep 2022 17:12:17 +0000 (17:12 +0000)]
Auto merge of #101342 - saethlin:update-backtrace, r=Mark-Simulacrum

Update backtrace

Most notably, this pulls in https://github.com/rust-lang/backtrace-rs/commit/ebc9a85466506e4fd0ba9cb72b15c42e320a0867, which is both a bugfix and a significant performance improvement for Miri, since fixing the bug makes `RUST_BACKTRACE=1` backtraces much smaller: https://github.com/rust-lang/miri/issues/2273, https://github.com/rust-lang/miri-test-libstd/issues/8

This also pulls in other commits which turn the backtrace-rs CI green. That's nice.

21 months agoAuto merge of #101378 - matthiaskrgr:rollup-s1awa47, r=matthiaskrgr
bors [Sat, 3 Sep 2022 14:23:58 +0000 (14:23 +0000)]
Auto merge of #101378 - matthiaskrgr:rollup-s1awa47, r=matthiaskrgr

Rollup of 4 pull requests

Successful merges:

 - #101335 (rustdoc: remove old CSS selector that causes weird spacing)
 - #101347 (ffx component run should provide a collection)
 - #101364 (Shrink suggestion span of argument mismatch error)
 - #101365 (remove redundant clones)

Failed merges:

 - #101349 (rustdoc: remove `.impl-items { flex-basis }` CSS, not in flex container)

r? `@ghost`
`@rustbot` modify labels: rollup