Skip to content

Conversation

matthiaskrgr
Copy link
Member

@matthiaskrgr matthiaskrgr commented Sep 21, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

pvdrz and others added 11 commits September 16, 2025 10:26
Co-authored-by: Anne Stijns <anstijns@gmail.com>
Co-authored-by: Anne Stijns <anstijns@gmail.com>
All platforms define this structure the same way, so we can just put it in the `process` module directly.
…zelmann Port #[macro_export] to the new attribute parsing infrastructure Ports macro_export to the new attribute parsing infrastructure for rust-lang#131229 (comment) r? `@oli-obk` cc `@JonathanBrouwer` `@jdonszelmann`
…erage, r=ibraheemdev Improve `core::sync::atomic` coverage This PR improves the `core::sync::atomic` coverage by adding new tests to `coretests`. r? libs
…ulacrum ci: x86_64-gnu-tools: Add `--test-args` regression test See rust-lang#146601 (comment) r? `@Mark-Simulacrum`
…imulacrum std: merge definitions of `StdioPipes` All platforms define this structure the same way, so we can just put it in the `process` module directly.
… r=Mark-Simulacrum Allow shared access to `Exclusive<T>` when `T: Sync` Addresses libs-api request in rust-lang#98407 (comment). Adds the following trait impls to `Exclusive<T>`, all bounded on `T: Sync`: - `AsRef<T>` - `Clone` - `Copy` - `PartialEq` - `StructuralPartialEq` - `Eq` - `Hash` - `PartialOrd` - `Ord` - `Fn` `@rustbot` label T-libs-api
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. rollup A PR which is a rollup labels Sep 21, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Sep 21, 2025

📌 Commit 1001c7d has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 21, 2025
@GrigorenkoPV
Copy link
Contributor

Probably going to fail: #146675 (comment)

@matthiaskrgr
Copy link
Member Author

yeah, just hit that locally while running the tests xD

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [ui] tests/ui/explicit-tail-calls/callee_is_weird.rs stdout ---- Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/explicit-tail-calls/callee_is_weird/callee_is_weird.stderr` diff of stderr: 12 LL | become (&mut &std::sync::Exclusive::new(f))() 13 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 14 | - = note: callee has type `Exclusive<fn() {f}>` + = note: callee has type `&Exclusive<fn() {f}>` 16 17 error: tail calls can only be performed with function definitions or pointers 18 --> $DIR/callee_is_weird.rs:22:12 The actual stderr differed from the expected stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args explicit-tail-calls/callee_is_weird.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/explicit-tail-calls/callee_is_weird.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/explicit-tail-calls/callee_is_weird" "-A" "unused" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" stdout: none --- stderr ------------------------------- error: tail calls can only be performed with function definitions or pointers ##[error] --> /checkout/tests/ui/explicit-tail-calls/callee_is_weird.rs:7:12 | LL | become std::sync::Exclusive::new(f)() //~ error: tail calls can only be performed with function definitions or pointers | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: callee has type `Exclusive<fn() {f}>` error: tail calls can only be performed with function definitions or pointers ##[error] --> /checkout/tests/ui/explicit-tail-calls/callee_is_weird.rs:11:12 | LL | become (&mut &std::sync::Exclusive::new(f))() //~ error: tail calls can only be performed with function definitions or pointers | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: callee has type `&Exclusive<fn() {f}>` error: tail calls can only be performed with function definitions or pointers ##[error] --> /checkout/tests/ui/explicit-tail-calls/callee_is_weird.rs:22:12 | LL | become J(); //~ error: tail calls can only be performed with function definitions or pointers | ^^^ | = note: callee has type `J` error: aborting due to 3 previous errors ------------------------------------------ ---- [ui] tests/ui/explicit-tail-calls/callee_is_weird.rs stdout end ---- ---- [ui] tests/ui/impl-trait/where-allowed.rs stdout ---- Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/impl-trait/where-allowed/where-allowed.stderr` diff of stderr: 387 where A: Tuple, F: Fn<A>, F: ?Sized; 388 - impl<Args, F, A> Fn<Args> for Box<F, A> 389 where Args: Tuple, F: Fn<Args>, A: Allocator, F: ?Sized; + - impl<F, Args> Fn<Args> for Exclusive<F> + where F: Sync, F: Fn<Args>, Args: Tuple; 390 391 error[E0118]: no nominal type found for inherent implementation 392 --> $DIR/where-allowed.rs:240:1 The actual stderr differed from the expected stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args impl-trait/where-allowed.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/impl-trait/where-allowed.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/impl-trait/where-allowed" "-A" "unused" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" stdout: none --- stderr ------------------------------- error[E0666]: nested `impl Trait` is not allowed ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:50:51 | LL | fn in_impl_Fn_parameter_in_parameters(_: &impl Fn(impl Debug)) { panic!() } | --------^^^^^^^^^^- | | | | | nested `impl Trait` here | outer `impl Trait` error[E0666]: nested `impl Trait` is not allowed ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:59:57 | LL | fn in_impl_Fn_parameter_in_return() -> &'static impl Fn(impl Debug) { panic!() } | --------^^^^^^^^^^- | | | | | nested `impl Trait` here | outer `impl Trait` error[E0658]: `impl Trait` in associated types is unstable ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:121:16 | LL | type Out = impl Debug; | ^^^^^^^^^^ | = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information = help: add `#![feature(impl_trait_in_assoc_type)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0658]: `impl Trait` in type aliases is unstable ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:158:23 | LL | type InTypeAlias<R> = impl Debug; | ^^^^^^^^^^ | = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0658]: `impl Trait` in type aliases is unstable ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:162:39 | LL | type InReturnInTypeAlias<R> = fn() -> impl Debug; | ^^^^^^^^^^ | = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0562]: `impl Trait` is not allowed in `fn` pointer parameters ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:18:40 | LL | fn in_fn_parameter_in_parameters(_: fn(impl Debug)) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in `fn` pointer return types ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:22:42 | LL | fn in_fn_return_in_parameters(_: fn() -> impl Debug) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in `fn` pointer parameters ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:26:38 | LL | fn in_fn_parameter_in_return() -> fn(impl Debug) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in `fn` pointer return types ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:30:40 | LL | fn in_fn_return_in_return() -> fn() -> impl Debug { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the parameters of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:34:49 | LL | fn in_dyn_Fn_parameter_in_parameters(_: &dyn Fn(impl Debug)) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the return type of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:38:51 | LL | fn in_dyn_Fn_return_in_parameters(_: &dyn Fn() -> impl Debug) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the parameters of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:42:55 | LL | fn in_dyn_Fn_parameter_in_return() -> &'static dyn Fn(impl Debug) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the parameters of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:50:51 | LL | fn in_impl_Fn_parameter_in_parameters(_: &impl Fn(impl Debug)) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the return type of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:55:53 | LL | fn in_impl_Fn_return_in_parameters(_: &impl Fn() -> impl Debug) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the parameters of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:59:57 | LL | fn in_impl_Fn_parameter_in_return() -> &'static impl Fn(impl Debug) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the parameters of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:68:38 | LL | fn in_Fn_parameter_in_generics<F: Fn(impl Debug)> (_: F) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the return type of `Fn` trait bounds ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:72:40 | LL | fn in_Fn_return_in_generics<F: Fn() -> impl Debug> (_: F) { panic!() } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in field types ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:85:32 | LL | struct InBraceStructField { x: impl Debug } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in field types ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:89:41 | LL | struct InAdtInBraceStructField { x: Vec<impl Debug> } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in field types --- error[E0562]: `impl Trait` is not allowed in field types ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:98:25 | LL | InBraceVariant { x: impl Debug }, | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in field types --- error[E0562]: `impl Trait` is not allowed in `fn` pointer return types ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:162:39 | LL | type InReturnInTypeAlias<R> = fn() -> impl Debug; | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in traits --- error[E0562]: `impl Trait` is not allowed in impl headers ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:183:24 | LL | impl InInherentImplAdt<impl Debug> { | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in bounds --- error[E0562]: `impl Trait` is not allowed in generic parameter defaults ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:223:40 | LL | struct InStructGenericParamDefault<T = impl Debug>(T); | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in generic parameter defaults ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:227:36 | LL | enum InEnumGenericParamDefault<T = impl Debug> { Variant(T) } | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in generic parameter defaults ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:231:38 | LL | trait InTraitGenericParamDefault<T = impl Debug> {} | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in generic parameter defaults ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:235:41 | LL | type InTypeAliasGenericParamDefault<T = impl Debug> = T; | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in generic parameter defaults ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:240:10 | LL | impl<T = impl Debug> T {} | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in generic parameter defaults ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:246:40 | LL | fn in_method_generic_param_default<T = impl Debug>(_: T) {} | ^^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0562]: `impl Trait` is not allowed in the type of variable bindings ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:250:29 | LL | let _in_local_variable: impl Fn() = || {}; | ^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods = note: see issue #63065 <https://github.com/rust-lang/rust/issues/63065> for more information = help: add `#![feature(impl_trait_in_bindings)]` to the crate attributes to enable = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date error[E0562]: `impl Trait` is not allowed in closure return types ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:252:46 | LL | let _in_return_in_local_variable = || -> impl Fn() { || {} }; | ^^^^^^^^^ | = note: `impl Trait` is only allowed in arguments and return types of functions and methods error[E0053]: method `in_trait_impl_return` has an incompatible type for trait ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:128:34 | LL | type Out = impl Debug; | ---------- the expected opaque type ... LL | fn in_trait_impl_return() -> impl Debug { () } | ^^^^^^^^^^ expected opaque type, found a different opaque type | note: type in trait --> /checkout/tests/ui/impl-trait/where-allowed.rs:118:34 | LL | fn in_trait_impl_return() -> Self::Out; | ^^^^^^^^^ = note: expected signature `fn() -> <() as DummyTrait>::Out` found signature `fn() -> impl Debug` = note: distinct uses of `impl Trait` result in different opaque types help: change the output type to match the trait | LL - fn in_trait_impl_return() -> impl Debug { () } LL + fn in_trait_impl_return() -> <() as DummyTrait>::Out { () } | error[E0283]: type annotations needed ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:46:57 | LL | fn in_dyn_Fn_return_in_return() -> &'static dyn Fn() -> impl Debug { panic!() } | ^^^^^^^^^^ cannot infer type | = note: cannot satisfy `_: Debug` error[E0283]: type annotations needed ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:64:46 | LL | fn in_impl_Fn_return_in_return() -> &'static impl Fn() -> impl Debug { panic!() } | ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type | = note: multiple `impl`s satisfying `_: Fn()` found in the following crates: `alloc`, `core`: - impl<A, F> Fn<A> for &F where A: Tuple, F: Fn<A>, F: ?Sized; - impl<Args, F, A> Fn<Args> for Box<F, A> where Args: Tuple, F: Fn<Args>, A: Allocator, F: ?Sized; - impl<F, Args> Fn<Args> for Exclusive<F> where F: Sync, F: Fn<Args>, Args: Tuple; error[E0118]: no nominal type found for inherent implementation ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:240:1 | LL | impl<T = impl Debug> T {} | ^^^^^^^^^^^^^^^^^^^^^^ impl requires a nominal type | = note: either implement a trait on it or create a newtype to wrap it instead error: unconstrained opaque type ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:121:16 --- error: unconstrained opaque type ##[error] --> /checkout/tests/ui/impl-trait/where-allowed.rs:158:23 | LL | type InTypeAlias<R> = impl Debug; | ^^^^^^^^^^ | = note: `InTypeAlias` must be used in combination with a concrete type within the same crate error: aborting due to 48 previous errors Some errors have detailed explanations: E0053, E0118, E0283, E0562, E0658, E0666. For more information about an error, try `rustc --explain E0053`. Future incompatibility report: Future breakage diagnostic: warning: defaults for generic parameters are not allowed here ##[warning] --> /checkout/tests/ui/impl-trait/where-allowed.rs:246:36 | LL | fn in_method_generic_param_default<T = impl Debug>(_: T) {} | ^^^^^^^^^^^^^^ Future breakage diagnostic: warning: defaults for generic parameters are not allowed here ##[warning] --> /checkout/tests/ui/impl-trait/where-allowed.rs:240:6 | LL | impl<T = impl Debug> T {} | ^^^^^^^^^^^^^^ ------------------------------------------ ---- [ui] tests/ui/impl-trait/where-allowed.rs stdout end ---- ---- [ui] tests/ui/traits/next-solver/well-formed-in-relate.rs stdout ---- Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/well-formed-in-relate/well-formed-in-relate.stderr` diff of stderr: 12 where A: Tuple, F: Fn<A>, F: ?Sized; 13 - impl<Args, F, A> Fn<Args> for Box<F, A> 14 where Args: Tuple, F: Fn<Args>, A: Allocator, F: ?Sized; + - impl<F, Args> Fn<Args> for Exclusive<F> + where F: Sync, F: Fn<Args>, Args: Tuple; 15 note: required by a bound in `unconstrained_map` 16 --> $DIR/well-formed-in-relate.rs:21:25 17 | The actual stderr differed from the expected stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args traits/next-solver/well-formed-in-relate.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/traits/next-solver/well-formed-in-relate.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/well-formed-in-relate" "-A" "unused" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" stdout: none --- stderr ------------------------------- error[E0283]: type annotations needed for `Map<_, _>` ##[error] --> /checkout/tests/ui/traits/next-solver/well-formed-in-relate.rs:2:9 | LL | let x; | ^ ... LL | x = unconstrained_map(); | ------------------- type must be known at this point | = note: multiple `impl`s satisfying `_: Fn()` found in the following crates: `alloc`, `core`: - impl<A, F> Fn<A> for &F where A: Tuple, F: Fn<A>, F: ?Sized; - impl<Args, F, A> Fn<Args> for Box<F, A> where Args: Tuple, F: Fn<Args>, A: Allocator, F: ?Sized; - impl<F, Args> Fn<Args> for Exclusive<F> where F: Sync, F: Fn<Args>, Args: Tuple; note: required by a bound in `unconstrained_map` --> /checkout/tests/ui/traits/next-solver/well-formed-in-relate.rs:21:25 | LL | fn unconstrained_map<T: Fn() -> U, U>() -> <Map<T, U> as Mirror>::Assoc { todo!() } | ^^^^^^^^^ required by this bound in `unconstrained_map` help: consider giving `x` an explicit type, where the type for type parameter `T` is specified | LL | let x: Map<T, U>; | +++++++++++ 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-rustdoc-json Area: Rustdoc JSON backend A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

10 participants