Skip to content

[Experiment] Add rigid alias marker#156742

Draft
adwinwhite wants to merge 13 commits into
rust-lang:mainfrom
adwinwhite:rigid-alias
Draft

[Experiment] Add rigid alias marker#156742
adwinwhite wants to merge 13 commits into
rust-lang:mainfrom
adwinwhite:rigid-alias

Conversation

@adwinwhite
Copy link
Copy Markdown
Contributor

@adwinwhite adwinwhite commented May 19, 2026

View all comments

still WIP but push before leaving the computer.

r? lcnr

@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels May 19, 2026
@adwinwhite
Copy link
Copy Markdown
Contributor Author

Unfinished. Let's have a look at the perf impact nonetheless.

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 19, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 19, 2026
[Experiment] Add rigid alias marker
@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 19, 2026

💔 Test for 73eccb5 failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the T-clippy Relevant to the Clippy team. label May 20, 2026
@adwinwhite
Copy link
Copy Markdown
Contributor Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 20, 2026
[Experiment] Add rigid alias marker
@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 20, 2026

☀️ Try build successful (CI)
Build commit: 42e2939 (42e2939c892f3c5e872d5751bb653ed74736a040, parent: 4b9792692fbb675174d4d2082e7c37b2bc930e71)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (42e2939): comparison URL.

Overall result: ❌ regressions - please read:

Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf.

Next, please: If you can, justify the regressions found in this try perf run in writing along with @rustbot label: +perf-regression-triaged. If not, fix the regressions and do another perf run. Neutral or positive results will clear the label automatically.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.8% [0.2%, 2.2%] 15
Regressions ❌
(secondary)
11.3% [0.1%, 95.1%] 29
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.1%] 2
All ❌✅ (primary) 0.8% [0.2%, 2.2%] 15

Max RSS (memory usage)

Results (primary 1.6%, secondary -1.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.1% [1.7%, 2.7%] 7
Regressions ❌
(secondary)
2.4% [0.8%, 3.6%] 6
Improvements ✅
(primary)
-2.4% [-2.4%, -2.4%] 1
Improvements ✅
(secondary)
-4.1% [-13.8%, -1.1%] 10
All ❌✅ (primary) 1.6% [-2.4%, 2.7%] 8

Cycles

Results (primary 2.5%, secondary 17.8%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.5% [2.4%, 2.6%] 2
Regressions ❌
(secondary)
19.3% [3.5%, 91.9%] 15
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.7% [-4.7%, -4.7%] 1
All ❌✅ (primary) 2.5% [2.4%, 2.6%] 2

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.0%] 28
Regressions ❌
(secondary)
0.1% [0.0%, 0.4%] 27
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.0%] 28

Bootstrap: 510.83s -> 514.725s (0.76%)
Artifact size: 400.58 MiB -> 401.07 MiB (0.12%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels May 20, 2026
@adwinwhite
Copy link
Copy Markdown
Contributor Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 20, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 20, 2026
[Experiment] Add rigid alias marker
@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 20, 2026

☀️ Try build successful (CI)
Build commit: 16cfcfc (16cfcfc63bb62f2884d28afd783504611598f765, parent: 1f8e04d34ab0c1fd9574840aa6db670e41593bfb)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (16cfcfc): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf.

Next, please: If you can, justify the regressions found in this try perf run in writing along with @rustbot label: +perf-regression-triaged. If not, fix the regressions and do another perf run. Neutral or positive results will clear the label automatically.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.9% [0.2%, 2.2%] 12
Regressions ❌
(secondary)
11.6% [0.1%, 93.6%] 23
Improvements ✅
(primary)
-0.3% [-0.3%, -0.3%] 1
Improvements ✅
(secondary)
-1.8% [-3.3%, -0.7%] 5
All ❌✅ (primary) 0.8% [-0.3%, 2.2%] 13

Max RSS (memory usage)

Results (primary 1.5%, secondary -1.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.4% [2.0%, 2.9%] 6
Regressions ❌
(secondary)
3.2% [1.1%, 5.8%] 6
Improvements ✅
(primary)
-3.9% [-3.9%, -3.9%] 1
Improvements ✅
(secondary)
-4.6% [-16.0%, -1.1%] 8
All ❌✅ (primary) 1.5% [-3.9%, 2.9%] 7

Cycles

Results (primary 2.8%, secondary 17.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.8% [2.2%, 3.8%] 5
Regressions ❌
(secondary)
23.6% [3.1%, 89.3%] 10
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.0% [-3.3%, -2.8%] 3
All ❌✅ (primary) 2.8% [2.2%, 3.8%] 5

Binary size

Results (primary 0.0%, secondary 0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.0%] 39
Regressions ❌
(secondary)
0.1% [0.0%, 0.4%] 28
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.0%] 39

Bootstrap: 509.888s -> 513.022s (0.61%)
Artifact size: 400.62 MiB -> 401.10 MiB (0.12%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 20, 2026
@adwinwhite
Copy link
Copy Markdown
Contributor Author

Local result shows a big perf win on deeply-nested-multi-new-solver, compared to master branch. Let's see other benchmarks.

@bors try @rust-timer queue

@rust-timer
Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 21, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 21, 2026
[Experiment] Add rigid alias marker
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 21, 2026

💔 Test for f1074b1 failed: CI. Failed job:

@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job dist-x86_64-linux-quick failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
c1e54eec4b57: Pull complete
Digest: sha256:b733d4a32c4da6a00a84df2ca32791bb03df95400243648d8c539e7b4cce329c
Status: Downloaded newer image for ghcr.io/rust-lang/alpine:3.4
6f457ca74096b926d7598e9244985cf093dfa5b3e4ff01bab04097f7899e2557
[CI_JOB_NAME=dist-x86_64-linux-quick]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.77s
##[endgroup]
[2026-05-21T08:10:32.556Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO)` starts
[2026-05-21T08:10:32.556Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO) > Build PGO instrumented rustc and LLVM` starts
[2026-05-21T08:10:32.556Z INFO  opt_dist::exec] Executing `RUST_BACKTRACE=full python3 /checkout/x.py build --target x86_64-unknown-linux-gnu --host x86_64-unknown-linux-gnu --stage 2 library/std --set rust.llvm-bitcode-linker=false --set build.extended=false --set rust.codegen-backends=['llvm'] --set rust.deny-warnings=false --rust-profile-generate /tmp/tmp-multistage/opt-artifacts/rustc-pgo --set llvm.thin-lto=false --set llvm.link-shared=true [at /checkout/obj]`
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.06s
##[endgroup]
[TIMING:start] compile::Assemble { target_compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false } }
[TIMING:start] builder::Libdir { compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu }
---
Finished benchmark bitmaps-3.2.1 (1/9)
Executing benchmark cargo-0.87.1 (2/9)
Preparing cargo-0.87.1
Finished benchmark cargo-0.87.1 (2/9)
collector error: Failed to profile 'cargo-0.87.1' with Eprintln, recorded: expected success, got exit status: 101

stderr=    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
   Compiling proc-macro2 v1.0.93
   Compiling unicode-ident v1.0.16
---
    Checking clru v0.6.2
    Checking overload v0.1.1
    Checking gix-utils v0.1.14
    Checking globset v0.4.15
error[E0277]: the trait bound `<C as CurveArithmetic>::Scalar: ReduceNonZero<<C as Curve>::Uint>` is not satisfied
##[error]   --> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/nonzero.rs:258:22
    |
258 |         let scalar = Scalar::<C>::reduce_nonzero_bytes(bytes);
    |                      ^^^^^^^^^^^ the trait `ReduceNonZero<<C as Curve>::Uint>` is not implemented for `<C as CurveArithmetic>::Scalar`
    |
help: consider further restricting the associated type
    |
257 |     fn reduce_bytes(bytes: &Self::Bytes) -> Self where <C as CurveArithmetic>::Scalar: ReduceNonZero<<C as Curve>::Uint> {
    |                                                  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Checking clap_builder v4.5.27
error[E0308]: mismatched types
##[error]   --> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/nonzero.rs:258:56
    |
258 |         let scalar = Scalar::<C>::reduce_nonzero_bytes(bytes);
    |                      --------------------------------- ^^^^^ expected `&GenericArray<u8, ...>`, found `&<... as Reduce<...>>::Bytes`
    |                      |
    |                      arguments to this function are incorrect
    |
    = note: expected reference `&GenericArray<u8, <C as Curve>::FieldBytesSize>`
               found reference `&<<C as CurveArithmetic>::Scalar as Reduce<I>>::Bytes`
    = help: consider constraining the associated type `<<C as CurveArithmetic>::Scalar as Reduce<I>>::Bytes` to `GenericArray<u8, <C as Curve>::FieldBytesSize>`
    = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
note: associated function defined here
   --> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/ops.rs:228:8
    |
228 |     fn reduce_nonzero_bytes(bytes: &Self::Bytes) -> Self;
---
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.86/src/backtrace.rs:27:14
   1: collector::check_command_output
             at ./collector/src/lib.rs:237:13
   2: collector::async_command_output::{closure#0}
             at ./collector/src/lib.rs:264:5
   3: <collector::compile::execute::CargoProcess>::run_rustc::{closure#0}
             at ./collector/src/compile/execute/mod.rs:451:52
   4: <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}
             at ./collector/src/compile/benchmark/mod.rs:388:26
   5: <core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}> as core::future::future::Future>::poll
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/future/future.rs:133:9
   6: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}::{closure#0}::{closure#0}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:70
   7: tokio::task::coop::with_budget::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}::{closure#0}::{closure#0}>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
   8: tokio::task::coop::budget::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}::{closure#0}::{closure#0}>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
   9: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}::{closure#0}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:25
  10: <tokio::runtime::scheduler::current_thread::Context>::enter::<core::task::poll::Poll<core::result::Result<(), anyhow::Error>>, <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}::{closure#0}>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:432:19
  11: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:732:44
  12: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:68
  13: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
  14: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:38
  15: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::try_with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/thread/local.rs:462:12
  16: <std::thread::local::LocalKey<tokio::runtime::context::Context>>::with::<tokio::runtime::context::set_scheduler<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/thread/local.rs:426:20
  17: tokio::runtime::context::set_scheduler::<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>), <tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:17
  18: <tokio::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:27
  19: <tokio::runtime::scheduler::current_thread::CoreGuard>::block_on::<core::pin::Pin<&mut <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:720:24
  20: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>::{closure#0}
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:200:33
  21: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::current_thread::CurrentThread>::block_on<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>::{closure#0}, core::result::Result<(), anyhow::Error>>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/runtime.rs:65:16
  22: <tokio::runtime::scheduler::current_thread::CurrentThread>::block_on::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:188:9
  23: <tokio::runtime::runtime::Runtime>::block_on_inner::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:356:52
  24: <tokio::runtime::runtime::Runtime>::block_on::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}>
             at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:330:18
  25: collector::utils::wait_for_future::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}::{closure#0}, core::result::Result<(), anyhow::Error>>
             at ./collector/src/utils/mod.rs:16:10
  26: <collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}
             at ./collector/src/compile/benchmark/mod.rs:377:21
  27: std::sys::backtrace::__rust_begin_short_backtrace::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/sys/backtrace.rs:166:18
  28: std::thread::lifecycle::spawn_unchecked::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>::{closure#1}::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/thread/lifecycle.rs:91:13
  29: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/panic/unwind_safe.rs:275:9
  30: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>::{closure#1}::{closure#0}>, core::result::Result<(), anyhow::Error>>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
  31: __rust_try
  32: std::panicking::catch_unwind::<core::result::Result<(), anyhow::Error>, core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>::{closure#1}::{closure#0}>>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:544:19
  33: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>::{closure#1}::{closure#0}>, core::result::Result<(), anyhow::Error>>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panic.rs:359:14
  34: std::thread::lifecycle::spawn_unchecked::<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>::{closure#1}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/thread/lifecycle.rs:89:26
  35: <std::thread::lifecycle::spawn_unchecked<<collector::compile::benchmark::Benchmark>::measure::{closure#0}::{closure#3}::{closure#0}, core::result::Result<(), anyhow::Error>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:250:5
  36: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/alloc/src/boxed.rs:2249:9
  37: <std::sys::thread::unix::Thread>::new::thread_start
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/sys/thread/unix.rs:118:17
---
   5: std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/sys/backtrace.rs:166:18
   6: std::rt::lang_start::<()>::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:206:18
   7: <&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:287:21
   8: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
   9: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:544:19
  10: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panic.rs:359:14
  11: std::rt::lang_start_internal::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:175:24
  12: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
---

Stack backtrace:
   0: <anyhow::Error>::msg::<alloc::string::String>
             at /rust/deps/anyhow-1.0.100/src/backtrace.rs:27:14
   1: <opt_dist::exec::CmdBuilder>::run
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/exec.rs:80:17
   2: opt_dist::training::gather_rustc_profiles::{closure#0}
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/training.rs:158:14
   3: opt_dist::utils::with_log_group::<opt_dist::training::gather_rustc_profiles::{closure#0}, core::result::Result<(), anyhow::Error>>
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/utils/mod.rs:68:22
   4: opt_dist::training::gather_rustc_profiles
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/training.rs:155:5
   5: opt_dist::execute_pipeline::{closure#1}::{closure#1}
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/main.rs:260:45
   6: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}::{closure#1}, opt_dist::training::RustcPGOProfile>
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/timer.rs:111:22
   7: opt_dist::execute_pipeline::{closure#1}
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/main.rs:260:14
   8: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}, opt_dist::training::RustcPGOProfile>
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/timer.rs:111:22
   9: opt_dist::execute_pipeline
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/main.rs:242:35
  10: opt_dist::main
             at /rustc/f1074b1e3ba0dd39b3af573031d625b55043a85b/src/tools/opt-dist/src/main.rs:469:18
  11: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:250:5
  12: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/sys/backtrace.rs:166:18
  13: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:206:18
  14: <&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:287:21
  15: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
  16: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:544:19
  17: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panic.rs:359:14
  18: std::rt::lang_start_internal::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:175:24
  19: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40

@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
- 
- error[E0277]: the trait bound `u32: Foo` is not satisfied
52   --> $DIR/associated-types-path-2.rs:37:8
53    |
54 LL |     f1(2u32, 4i32);

67 LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
68    |              ^^^ required by this bound in `f1`
69 
- error[E0277]: the trait bound `u32: Foo` is not satisfied
-   --> $DIR/associated-types-path-2.rs:37:14
-    |
- LL |     f1(2u32, 4i32);
-    |              ^^^^ the trait `Foo` is not implemented for `u32`
-    |
- help: the trait `Foo` is implemented for `i32`
-   --> $DIR/associated-types-path-2.rs:11:1
-    |
- LL | impl Foo for i32 {
-    | ^^^^^^^^^^^^^^^^
- 
82 error[E0308]: mismatched types
83   --> $DIR/associated-types-path-2.rs:43:18
84    |

92 LL |     let _: i32 = f2(2i32).try_into().unwrap();
93    |                          ++++++++++++++++++++
94 
- error: aborting due to 6 previous errors
+ error: aborting due to 4 previous errors
96 
---
To only update this specific test, also pass `--test-args associated-types/associated-types-path-2.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/associated-types/associated-types-path-2.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/associated-types/associated-types-path-2" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/associated-types/associated-types-path-2.rs:21:14
   |
---
   |
note: function defined here
  --> /checkout/tests/ui/associated-types/associated-types-path-2.rs:15:8
   |
LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
   |        ^^               -------
help: change the type of the numeric literal from `i32` to `u32`
   |
LL -     f1(2i32, 4i32);
LL +     f1(2i32, 4u32);
---
   | ^^^^^^^^^^^^^^^^
note: required by a bound in `f1`
  --> /checkout/tests/ui/associated-types/associated-types-path-2.rs:15:14
   |
LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
   |              ^^^ required by this bound in `f1`

error[E0277]: the trait bound `u32: Foo` is not satisfied
##[error]  --> /checkout/tests/ui/associated-types/associated-types-path-2.rs:37:8
   |
LL |     f1(2u32, 4i32);
   |     -- ^^^^ the trait `Foo` is not implemented for `u32`
   |     |
   |     required by a bound introduced by this call
   |
help: the trait `Foo` is implemented for `i32`
  --> /checkout/tests/ui/associated-types/associated-types-path-2.rs:11:1
   |
LL | impl Foo for i32 {
   | ^^^^^^^^^^^^^^^^
note: required by a bound in `f1`
  --> /checkout/tests/ui/associated-types/associated-types-path-2.rs:15:14
   |
LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
   |              ^^^ required by this bound in `f1`

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/associated-types/associated-types-path-2.rs:43:18
   |
LL |     let _: i32 = f2(2i32);
   |            ---   ^^^^^^^^ expected `i32`, found `u32`
   |            |
   |            expected due to this
   |
help: you can convert a `u32` to an `i32` and panic if the converted value doesn't fit
   |
LL |     let _: i32 = f2(2i32).try_into().unwrap();
   |                          ++++++++++++++++++++

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0277, E0308.
---
---- [ui] tests/ui/attributes/dump-preds.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/attributes/dump-preds/dump-preds.stderr`
diff of stderr:

33 LL |     type Assoc<P: Eq>: std::ops::Deref<Target = ()>
34    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
35    |
-    = note: Binder { value: ProjectionPredicate(AliasTerm { args: [Alias(AliasTy { args: [Self/#0, T/#1, P/#2], kind: Projection { def_id: DefId(..) }, .. })], kind: ProjectionTy { def_id: DefId(..) }, .. }, Term::Ty(())), bound_vars: [] }
+    = note: Binder { value: ProjectionPredicate(AliasTerm { args: [Alias(AliasTy { args: [Self/#0, T/#1, P/#2], kind: Projection { def_id: DefId(..) }, .. }, No)], kind: ProjectionTy { def_id: DefId(..) }, .. }, Term::Ty(())), bound_vars: [] }
37    = note: Binder { value: TraitPredicate(<<Self as Trait<T>>::Assoc<P> as std::ops::Deref>, polarity:Positive), bound_vars: [] }
38    = note: Binder { value: TraitPredicate(<<Self as Trait<T>>::Assoc<P> as std::marker::Sized>, polarity:Positive), bound_vars: [] }
39 

Note: some mismatched output was normalized before being compared
-    = note: Binder { value: ProjectionPredicate(AliasTerm { args: [Alias(AliasTy { args: [Self/#0, T/#1, P/#2], kind: Projection { def_id: DefId(0:5 ~ dump_preds[a6a3]::Trait::Assoc) }, .. }, No)], kind: ProjectionTy { def_id: DefId(2:4404 ~ core[a493]::ops::deref::Deref::Target) }, .. }, Term::Ty(())), bound_vars: [] }
+    = note: Binder { value: ProjectionPredicate(AliasTerm { args: [Alias(AliasTy { args: [Self/#0, T/#1, P/#2], kind: Projection { def_id: DefId(..) }, .. }, No)], kind: ProjectionTy { def_id: DefId(..) }, .. }, Term::Ty(())), bound_vars: [] }


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 attributes/dump-preds.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/attributes/dump-preds.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/attributes/dump-preds" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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: rustc_dump_predicates
##[error]  --> /checkout/tests/ui/attributes/dump-preds.rs:6:1
   |
LL | trait Trait<T>: Iterator<Item: Copy>
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: Binder { value: TraitPredicate(<Self as std::marker::MetaSized>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<Self as std::iter::Iterator>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<<Self as std::iter::Iterator>::Item as std::marker::Copy>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<T as std::marker::Sized>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<std::string::String as std::convert::From<T>>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<Self as Trait<T>>, polarity:Positive), bound_vars: [] }

error: rustc_dump_predicates
##[error]  --> /checkout/tests/ui/attributes/dump-preds.rs:13:5
   |
LL |     type Assoc<P: Eq>: std::ops::Deref<Target = ()>
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: Binder { value: TraitPredicate(<Self as std::marker::MetaSized>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<Self as std::iter::Iterator>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<<Self as std::iter::Iterator>::Item as std::marker::Copy>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<T as std::marker::Sized>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<std::string::String as std::convert::From<T>>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<Self as Trait<T>>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<P as std::marker::Sized>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<P as std::cmp::Eq>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<<Self as Trait<T>>::Assoc<()> as std::marker::Copy>, polarity:Positive), bound_vars: [] }

error: rustc_dump_item_bounds
##[error]  --> /checkout/tests/ui/attributes/dump-preds.rs:13:5
   |
LL |     type Assoc<P: Eq>: std::ops::Deref<Target = ()>
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: Binder { value: ProjectionPredicate(AliasTerm { args: [Alias(AliasTy { args: [Self/#0, T/#1, P/#2], kind: Projection { def_id: DefId(0:5 ~ dump_preds[a6a3]::Trait::Assoc) }, .. }, No)], kind: ProjectionTy { def_id: DefId(2:4404 ~ core[a493]::ops::deref::Deref::Target) }, .. }, Term::Ty(())), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<<Self as Trait<T>>::Assoc<P> as std::ops::Deref>, polarity:Positive), bound_vars: [] }
   = note: Binder { value: TraitPredicate(<<Self as Trait<T>>::Assoc<P> as std::marker::Sized>, polarity:Positive), bound_vars: [] }

error: aborting due to 3 previous errors
------------------------------------------

---- [ui] tests/ui/attributes/dump-preds.rs stdout end ----
---- [ui] tests/ui/coercion/issue-101066.rs stdout ----

error: test compilation failed although it shouldn't!
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/coercion/issue-101066.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/coercion/issue-101066" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/coercion/issue-101066.rs:12:33
   |
LL |     fn valid_integer_try_from<N>(i: N) -> Result<Self::Integer, ()>
   |                               - found this type parameter
...
LL |         Self::Integer::try_from(i).map_err(|_| ())
   |         ----------------------- ^ expected `usize`, found type parameter `N`
   |         |
   |         arguments to this function are incorrect
   |
   = note:        expected type `usize`
           found type parameter `N`
---
------------------------------------------

---- [ui] tests/ui/coercion/issue-101066.rs stdout end ----
---- [ui] tests/ui/coherence/indirect-impl-for-trait-obj-coherence.rs#next stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/indirect-impl-for-trait-obj-coherence.next/indirect-impl-for-trait-obj-coherence.next.stderr`
diff of stderr:

1 error[E0284]: type annotations needed: cannot normalize `<dyn Object<U, Output = T> as Object<U>>::Output`
-   --> $DIR/indirect-impl-for-trait-obj-coherence.rs:25:5
+   --> $DIR/indirect-impl-for-trait-obj-coherence.rs:25:41
3    |
4 LL |     foo::<dyn Object<U, Output = T>, U>(x)
-    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot normalize `<dyn Object<U, Output = T> as Object<U>>::Output`
+    |                                         ^ cannot normalize `<dyn Object<U, Output = T> as Object<U>>::Output`
6 
7 error: aborting due to 1 previous error
8 

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/coherence/indirect-impl-for-trait-obj-coherence.rs:25:41
+   --> $DIR/indirect-impl-for-trait-obj-coherence.rs:25:41
+    |                                         ^ cannot normalize `<dyn Object<U, Output = T> as Object<U>>::Output`


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 coherence/indirect-impl-for-trait-obj-coherence.rs`

error in revision `next`: 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/coherence/indirect-impl-for-trait-obj-coherence.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/coherence/indirect-impl-for-trait-obj-coherence.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0284]: type annotations needed: cannot normalize `<dyn Object<U, Output = T> as Object<U>>::Output`
##[error]  --> /checkout/tests/ui/coherence/indirect-impl-for-trait-obj-coherence.rs:25:41
   |
LL |     foo::<dyn Object<U, Output = T>, U>(x)
   |                                         ^ cannot normalize `<dyn Object<U, Output = T> as Object<U>>::Output`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0284`.
------------------------------------------
---
diff of stderr:

15    = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
16 
17 error[E0284]: type annotations needed: cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
-   --> $DIR/associated-type.rs:45:5
+   --> $DIR/associated-type.rs:45:59
19    |
20 LL |     foo::<for<'a> fn(&'a (), ()), for<'a> fn(&'a (), ())>(3usize);
-    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
+    |                                                           ^^^^^^ cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
22 
23 error: aborting due to 2 previous errors
24 

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/coherence/occurs-check/associated-type.rs:45:59
+   --> $DIR/associated-type.rs:45:59
+    |                                                           ^^^^^^ cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`


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 coherence/occurs-check/associated-type.rs`

error in revision `next`: 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/coherence/occurs-check/associated-type.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,old,next)" "--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/coherence/occurs-check/associated-type.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTerm { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1))], kind: ProjectionTy { def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) }, .. }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTerm { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1))], kind: ProjectionTy { def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) }, .. }
error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())`
##[error]  --> /checkout/tests/ui/coherence/occurs-check/associated-type.rs:32:1
   |
LL |   impl<T> Overlap<T> for T {
   |   ------------------------ first implementation here
...
LL | / impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T
LL | | //~^ ERROR conflicting implementations of trait
LL | | where
LL | |     for<'a> *const T: ToUnit<'a>,
   | |_________________________________^ conflicting implementation for `for<'a> fn(&'a (), ())`
   |
   = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details

error[E0284]: type annotations needed: cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
##[error]  --> /checkout/tests/ui/coherence/occurs-check/associated-type.rs:45:59
   |
LL |     foo::<for<'a> fn(&'a (), ()), for<'a> fn(&'a (), ())>(3usize);
   |                                                           ^^^^^^ cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0119, E0284.
For more information about an error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/coherence/occurs-check/associated-type.rs#next stdout end ----
---- [ui] tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs#next stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.next/ambiguous-on-failed-eval-with-vars-fail.next.stderr`
diff of stderr:

14 LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = free();
15    |                                          +++++++++++++
16 
+ error[E0284]: type annotations needed for `([(); _], [(); 10])`
+   --> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:29:9
+    |
+ LL |     let (mut arr, mut arr_with_weird_len) = free();
+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ---- type must be known at this point
+    |
+ help: consider giving this pattern a type, where the value of const parameter `N` is specified
+    |
+ LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = free();
+    |                                          +++++++++++++
+ 
17 error[E0271]: type mismatch resolving `FREE::<10> == 2`
18   --> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:35:45
19    |

36 LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = proj();
37    |                                          +++++++++++++
38 
+ error[E0284]: type annotations needed for `([(); _], [(); 10])`
+   --> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:46:9
+    |
+ LL |     let (mut arr, mut arr_with_weird_len) = proj();
+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ---- type must be known at this point
+    |
+ help: consider giving this pattern a type, where the value of const parameter `N` is specified
+    |
+ LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = proj();
+    |                                          +++++++++++++
+ 
39 error[E0271]: type mismatch resolving `<S as Trait>::PROJ::<10> == 2`
40   --> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:52:45
41    |

45    = note: expected constant `2`
46               found constant `10`
---

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:29:9
-   --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:46:9
+ error[E0284]: type annotations needed for `([(); _], [(); 10])`
+   --> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:29:9
+    |
+ LL |     let (mut arr, mut arr_with_weird_len) = free();
+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ---- type must be known at this point
+    |
+ help: consider giving this pattern a type, where the value of const parameter `N` is specified
+    |
+ LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = free();
+    |                                          +++++++++++++
+ 
+ error[E0284]: type annotations needed for `([(); _], [(); 10])`
+   --> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:46:9
+    |
+ LL |     let (mut arr, mut arr_with_weird_len) = proj();
+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ---- type must be known at this point
+    |
+ help: consider giving this pattern a type, where the value of const parameter `N` is specified
+    |
+ LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = proj();
+    |                                          +++++++++++++
+ 
+ error: aborting due to 6 previous errors


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 const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs`

error in revision `next`: 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/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,old,next)" "--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/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0284]: type annotations needed for `([(); _], [(); 10])`
##[error]  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:29:9
   |
LL |     let (mut arr, mut arr_with_weird_len) = free();
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ------ type must be known at this point
   |
note: required by a const generic parameter in `free`
  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:24:9
   |
LL | fn free<const N: usize>() -> ([(); N], [(); FREE::<N>]) {
   |         ^^^^^^^^^^^^^^ required by this const generic parameter in `free`
help: consider giving this pattern a type, where the value of const parameter `N` is specified
   |
LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = free();
   |                                          +++++++++++++

error[E0284]: type annotations needed for `([(); _], [(); 10])`
##[error]  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:29:9
   |
LL |     let (mut arr, mut arr_with_weird_len) = free();
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ---- type must be known at this point
   |
help: consider giving this pattern a type, where the value of const parameter `N` is specified
   |
LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = free();
   |                                          +++++++++++++

error[E0271]: type mismatch resolving `FREE::<10> == 2`
##[error]  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:35:45
   |
LL |     let (mut arr, mut arr_with_weird_len) = free();
   |                                             ^^^^^^ types differ

error[E0284]: type annotations needed for `([(); _], [(); 10])`
##[error]  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:46:9
   |
LL |     let (mut arr, mut arr_with_weird_len) = proj();
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ------ type must be known at this point
   |
note: required by a const generic parameter in `proj`
  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:41:9
   |
LL | fn proj<const N: usize>() -> ([(); N], [(); <S as Trait>::PROJ::<N>]) {
   |         ^^^^^^^^^^^^^^ required by this const generic parameter in `proj`
help: consider giving this pattern a type, where the value of const parameter `N` is specified
   |
LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = proj();
   |                                          +++++++++++++

error[E0284]: type annotations needed for `([(); _], [(); 10])`
##[error]  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:46:9
   |
LL |     let (mut arr, mut arr_with_weird_len) = proj();
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   ---- type must be known at this point
   |
help: consider giving this pattern a type, where the value of const parameter `N` is specified
   |
LL |     let (mut arr, mut arr_with_weird_len): ([_; N], _) = proj();
   |                                          +++++++++++++

error[E0271]: type mismatch resolving `<S as Trait>::PROJ::<10> == 2`
##[error]  --> /checkout/tests/ui/const-generics/gca/ambiguous-on-failed-eval-with-vars-fail.rs:52:45
   |
LL |     let (mut arr, mut arr_with_weird_len) = proj();
   |                                             ^^^^^^ expected `2`, found `10`
   |
   = note: expected constant `2`
              found constant `10`

error: aborting due to 6 previous errors
---
diff of stderr:

40   --> $DIR/try-from-with-const-genericsrs-98299.rs:5:36
41    |
42 LL |     SmallCString::try_from(p).map(|cstr| cstr);
-    |     -------------------------      ^^^^
+    |     ----------------------         ^^^^
44    |     |
45    |     type must be known at this point
46    |
---
To only update this specific test, also pass `--test-args const-generics/try-from-with-const-genericsrs-98299.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/const-generics/try-from-with-const-genericsrs-98299.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/const-generics/try-from-with-const-genericsrs-98299" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0284]: type annotations needed for `SmallCString<_>`
##[error]  --> /checkout/tests/ui/const-generics/try-from-with-const-genericsrs-98299.rs:5:36
   |
LL |     SmallCString::try_from(p).map(|cstr| cstr);
   |     ------------                   ^^^^
   |     |
   |     type must be known at this point
   |
note: required by a const generic parameter in `SmallCString`
  --> /checkout/tests/ui/const-generics/try-from-with-const-genericsrs-98299.rs:11:25
   |
LL | pub struct SmallCString<const N: usize> {}
   |                         ^^^^^^^^^^^^^^ required by this const generic parameter in `SmallCString`
help: consider giving this closure parameter an explicit type, where the value of const parameter `N` is specified
   |
LL |     SmallCString::try_from(p).map(|cstr: SmallCString<N>| cstr);
   |                                        +++++++++++++++++

error[E0284]: type annotations needed for `SmallCString<_>`
##[error]  --> /checkout/tests/ui/const-generics/try-from-with-const-genericsrs-98299.rs:5:36
   |
LL |     SmallCString::try_from(p).map(|cstr| cstr);
   |     ------------                   ^^^^
   |     |
   |     type must be known at this point
   |
note: required for `SmallCString<_>` to implement `TryFrom<()>`
  --> /checkout/tests/ui/const-generics/try-from-with-const-genericsrs-98299.rs:13:22
   |
LL | impl<const N: usize> TryFrom<()> for SmallCString<N> {
   |      --------------  ^^^^^^^^^^^     ^^^^^^^^^^^^^^^
   |      |
   |      unsatisfied trait bound introduced here
help: consider giving this closure parameter an explicit type, where the value of const parameter `N` is specified
   |
LL |     SmallCString::try_from(p).map(|cstr: SmallCString<N>| cstr);
   |                                        +++++++++++++++++

error[E0284]: type annotations needed for `SmallCString<_>`
##[error]  --> /checkout/tests/ui/const-generics/try-from-with-const-genericsrs-98299.rs:5:36
   |
LL |     SmallCString::try_from(p).map(|cstr| cstr);
   |     ----------------------         ^^^^
   |     |
   |     type must be known at this point
   |
note: required for `SmallCString<_>` to implement `TryFrom<()>`
  --> /checkout/tests/ui/const-generics/try-from-with-const-genericsrs-98299.rs:13:22
   |
LL | impl<const N: usize> TryFrom<()> for SmallCString<N> {
   |      --------------  ^^^^^^^^^^^     ^^^^^^^^^^^^^^^
   |      |
   |      unsatisfied trait bound introduced here
help: consider giving this closure parameter an explicit type, where the value of const parameter `N` is specified
   |
LL |     SmallCString::try_from(p).map(|cstr: SmallCString<N>| cstr);
   |                                        +++++++++++++++++

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0284`.
---
error in revision `next`: ui test did not emit an error
note: by default, ui tests are expected not to compile.
hint: use check-pass, build-pass, or run-pass directive to change this behavior.
status: exit status: 0
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/coroutine/delayed-obligations-emit.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/coroutine/delayed-obligations-emit.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2024" "-Znext-solver"
stdout: none
stderr: none

---- [ui] tests/ui/coroutine/delayed-obligations-emit.rs#next stdout end ----
---- [ui] tests/ui/generic-associated-types/bugs/issue-91762.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/generic-associated-types/bugs/issue-91762/issue-91762.stderr`
diff of stderr:

2   --> $DIR/issue-91762.rs:24:15
3    |
4 LL |         ret = <Self::Base as Functor>::fmap(arg);
-    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `T` declared on the associated function `fmap`
+    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --- type must be known at this point
+    |               |
+    |               cannot infer type of the type parameter `T` declared on the associated function `fmap`
6    |
-    = note: cannot satisfy `<<Self as FunctorExt<T>>::Base as Functor>::With<_> == Self`
+    = note: cannot satisfy `<<Self as FunctorExt<T>>::Base as Functor>::With<_> == _`
8 help: consider specifying the generic arguments
9    |
10 LL |         ret = <Self::Base as Functor>::fmap::<T, U>(arg);


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 generic-associated-types/bugs/issue-91762.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/generic-associated-types/bugs/issue-91762.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/generic-associated-types/bugs/issue-91762" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0284]: type annotations needed
##[error]  --> /checkout/tests/ui/generic-associated-types/bugs/issue-91762.rs:24:15
   |
LL |         ret = <Self::Base as Functor>::fmap(arg);
   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --- type must be known at this point
   |               |
   |               cannot infer type of the type parameter `T` declared on the associated function `fmap`
   |
   = note: cannot satisfy `<<Self as FunctorExt<T>>::Base as Functor>::With<_> == _`
help: consider specifying the generic arguments
   |
LL |         ret = <Self::Base as Functor>::fmap::<T, U>(arg);
   |                                            ++++++++

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0284`.
------------------------------------------

---- [ui] tests/ui/generic-associated-types/bugs/issue-91762.rs stdout end ----
---- [ui] tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check/cycle-effective-visibilities-during-dyn-compatibility-check.stderr`
diff of stderr:

29    = help: consider moving `foo` to another trait
30    = help: only type `Outer` implements `MyTrait`; consider using it directly instead.
31 
- error[E0277]: the trait bound `&dyn MyTrait: MyTrait` is not satisfied
-   --> $DIR/cycle-effective-visibilities-during-dyn-compatibility-check.rs:20:9
-    |
- LL |         MyTrait::foo(&self)
-    |         ^^^^^^^^^^^^^^^^^^^ the trait `MyTrait` is not implemented for `&dyn MyTrait`
-    |
- help: the trait `MyTrait` is implemented for `Outer`
-   --> $DIR/cycle-effective-visibilities-during-dyn-compatibility-check.rs:10:1
-    |
- LL | impl MyTrait for Outer {
-    | ^^^^^^^^^^^^^^^^^^^^^^
- 
44 error[E0038]: the trait `MyTrait` is not dyn compatible
45   --> $DIR/cycle-effective-visibilities-during-dyn-compatibility-check.rs:16:6
46    |

75    = help: consider moving `foo` to another trait
76    = help: only type `Outer` implements `MyTrait`; consider using it directly instead.
77 
- error: aborting due to 5 previous errors
+ error: aborting due to 4 previous errors
79 
80 Some errors have detailed explanations: E0038, E0277.
---
To only update this specific test, also pass `--test-args impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.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/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.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/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0277]: the trait bound `&dyn MyTrait: MyTrait` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:20:22
   |
LL |         MyTrait::foo(&self)
   |         ------------ ^^^^^ the trait `MyTrait` is not implemented for `&dyn MyTrait`
   |         |
   |         required by a bound introduced by this call
   |
help: the trait `MyTrait` is implemented for `Outer`
  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:10:1
   |
LL | impl MyTrait for Outer {
   | ^^^^^^^^^^^^^^^^^^^^^^

error[E0038]: the trait `MyTrait` is not dyn compatible
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:20:9
   |
LL |         MyTrait::foo(&self)
   |         ^^^^^^^^^^^^ `MyTrait` is not dyn compatible
   |
note: for a trait to be dyn compatible it needs to allow building a vtable
      for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:5:22
   |
LL | trait MyTrait {
   |       ------- this trait is not dyn compatible...
LL |     fn foo(&self) -> impl Marker;
   |                      ^^^^^^^^^^^ ...because method `foo` references an `impl Trait` type in its return type
   = help: consider moving `foo` to another trait
   = help: only type `Outer` implements `MyTrait`; consider using it directly instead.

error[E0038]: the trait `MyTrait` is not dyn compatible
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:16:6
   |
LL | impl dyn MyTrait {
   |      ^^^^^^^^^^^ `MyTrait` is not dyn compatible
   |
note: for a trait to be dyn compatible it needs to allow building a vtable
      for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:5:22
   |
LL | trait MyTrait {
   |       ------- this trait is not dyn compatible...
LL |     fn foo(&self) -> impl Marker;
   |                      ^^^^^^^^^^^ ...because method `foo` references an `impl Trait` type in its return type
   = help: consider moving `foo` to another trait
   = help: only type `Outer` implements `MyTrait`; consider using it directly instead.

error[E0038]: the trait `MyTrait` is not dyn compatible
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:18:15
   |
LL |     fn other(&self) -> impl Marker {
   |               ^^^^ `MyTrait` is not dyn compatible
   |
note: for a trait to be dyn compatible it needs to allow building a vtable
      for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
  --> /checkout/tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs:5:22
   |
LL | trait MyTrait {
   |       ------- this trait is not dyn compatible...
LL |     fn foo(&self) -> impl Marker;
   |                      ^^^^^^^^^^^ ...because method `foo` references an `impl Trait` type in its return type
   = help: consider moving `foo` to another trait
   = help: only type `Outer` implements `MyTrait`; consider using it directly instead.

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0038, E0277.
For more information about an error, try `rustc --explain E0038`.
------------------------------------------

---- [ui] tests/ui/impl-trait/in-trait/cycle-effective-visibilities-during-dyn-compatibility-check.rs stdout end ----
---- [ui] tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs#next stdout ----

error in revision `next`: test compilation failed although it shouldn't!
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/in-trait/false-positive-predicate-entailment-error.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/in-trait/false-positive-predicate-entailment-error.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `F: MyFn<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:5
   |
LL | /     fn autobatch<F>(self) -> impl Trait
...  |
LL | |     where
LL | |         F: Callback<Self::CallbackArg>,
   | |_______________________________________^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here
help: consider further restricting type parameter `F` with trait `MyFn`
   |
LL |         F: Callback<Self::CallbackArg> + MyFn<i32>,
   |                                        +++++++++++

error[E0277]: the trait bound `F: MyFn<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:5
   |
LL | /     fn autobatch<F>(self) -> impl Trait
...  |
LL | |     where
LL | |         F: Callback<Self::CallbackArg>,
   | |_______________________________________^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: consider further restricting type parameter `F` with trait `MyFn`
   |
LL |         F: Callback<Self::CallbackArg> + MyFn<i32>,
   |                                        +++++++++++

error[E0277]: the trait bound `F: Callback<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:42:12
   |
LL |         F: Callback<Self::CallbackArg>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here
note: the requirement `F: Callback<i32>` appears on the `impl`'s method `autobatch` but not on the corresponding trait's method
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:25:8
   |
LL | trait ChannelSender {
   |       ------------- in this trait
...
LL |     fn autobatch<F>(self) -> impl Trait
   |        ^^^^^^^^^ this trait's method doesn't have the requirement `F: Callback<i32>`
help: consider further restricting type parameter `F` with trait `MyFn`
   |
LL |         F: Callback<Self::CallbackArg> + MyFn<i32>,
   |                                        +++++++++++

error: the type `impl Trait` is not well-formed
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:30
   |
LL |     fn autobatch<F>(self) -> impl Trait
   |                              ^^^^^^^^^^

error[E0277]: the trait bound `F: Callback<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:42:12
   |
LL |         F: Callback<Self::CallbackArg>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here
note: the requirement `F: Callback<i32>` appears on the `impl`'s method `autobatch` but not on the corresponding trait's method
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:25:8
   |
LL | trait ChannelSender {
   |       ------------- in this trait
...
LL |     fn autobatch<F>(self) -> impl Trait
   |        ^^^^^^^^^ this trait's method doesn't have the requirement `F: Callback<i32>`
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: consider further restricting type parameter `F` with trait `MyFn`
   |
LL |         F: Callback<Self::CallbackArg> + MyFn<i32>,
   |                                        +++++++++++

error[E0277]: the trait bound `F: MyFn<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:5
   |
LL | /     fn autobatch<F>(self) -> impl Trait
...  |
LL | |     where
LL | |         F: Callback<Self::CallbackArg>,
   | |_______________________________________^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: consider further restricting type parameter `F` with trait `MyFn`
   |
LL |         F: Callback<Self::CallbackArg> + MyFn<i32>,
   |                                        +++++++++++

error[E0276]: impl has stricter requirements than trait
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:5
   |
LL | /     fn autobatch<F>(self) -> impl Trait
LL | |     where
LL | |         F: Callback<Self::CallbackArg>;
   | |_______________________________________- definition of `autobatch` from trait
...
LL | /     fn autobatch<F>(self) -> impl Trait
...  |
LL | |     where
LL | |         F: Callback<Self::CallbackArg>,
   | |_______________________________________^ impl has extra requirement `impl Trait well-formed`

error[E0277]: the trait bound `F: MyFn<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:30
   |
LL |     fn autobatch<F>(self) -> impl Trait
   |                              ^^^^^^^^^^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here

error[E0277]: the trait bound `F: Callback<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:27:12
   |
LL |         F: Callback<Self::CallbackArg>;
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here

error[E0277]: the trait bound `F: MyFn<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:5
   |
LL | /     fn autobatch<F>(self) -> impl Trait
...  |
LL | |     where
LL | |         F: Callback<Self::CallbackArg>,
   | |_______________________________________^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required for `F` to implement `Callback<i32>`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:14:21
   |
LL | impl<A, F: MyFn<A>> Callback<A> for F {
   |            -------  ^^^^^^^^^^^     ^
   |            |
   |            unsatisfied trait bound introduced here
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: consider further restricting type parameter `F` with trait `MyFn`
   |
LL |         F: Callback<Self::CallbackArg> + MyFn<i32>,
   |                                        +++++++++++

error[E0277]: the trait bound `F: MyFn<i32>` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:42:12
   |
LL |         F: Callback<Self::CallbackArg>,
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `MyFn<i32>` is not implemented for `F`
   |
note: required by a bound in `Callback`
  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:10:20
   |
LL | trait Callback<A>: MyFn<A, Output = Self::Ret> {
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Callback`
help: consider further restricting type parameter `F` with trait `MyFn`
   |
LL |         F: Callback<Self::CallbackArg> + MyFn<i32>,
   |                                        +++++++++++

error: the type `impl Trait` is not well-formed
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/false-positive-predicate-entailment-error.rs:36:30
   |
LL |     fn autobatch<F>(self) -> impl Trait
   |                              ^^^^^^^^^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: aborting due to 12 previous errors
---
---- [ui] tests/ui/impl-trait/in-trait/issue-102140.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/impl-trait/in-trait/issue-102140/issue-102140.stderr`
diff of stderr:

12 LL +         MyTrait::foo(self)
13    |
14 
- error[E0277]: the trait bound `&dyn MyTrait: MyTrait` is not satisfied
-   --> $DIR/issue-102140.rs:20:9
-    |
- LL |         MyTrait::foo(&self)
-    |         ^^^^^^^^^^^^^^^^^^^ the trait `MyTrait` is not implemented for `&dyn MyTrait`
-    |
- help: the trait `MyTrait` is implemented for `Outer`
-   --> $DIR/issue-102140.rs:12:1
-    |
- LL | impl MyTrait for Outer {
-    | ^^^^^^^^^^^^^^^^^^^^^^
- 
---
To only update this specific test, also pass `--test-args impl-trait/in-trait/issue-102140.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/in-trait/issue-102140.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/in-trait/issue-102140" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0277]: the trait bound `&dyn MyTrait: MyTrait` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/in-trait/issue-102140.rs:20:22
   |
LL |         MyTrait::foo(&self)
   |         ------------ ^^^^^ the trait `MyTrait` is not implemented for `&dyn MyTrait`
   |         |
   |         required by a bound introduced by this call
   |
help: consider removing the leading `&`-reference
   |
LL -         MyTrait::foo(&self)
LL +         MyTrait::foo(self)
   |

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0277`.
---
To only update this specific test, also pass `--test-args impl-trait/unsized_coercion.rs`

error in revision `next`: 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/unsized_coercion.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,next,old)" "--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/unsized_coercion.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the size for values of type `dyn Trait` cannot be known at compilation time
##[error]  --> /checkout/tests/ui/impl-trait/unsized_coercion.rs:12:15
   |
LL | fn hello() -> Box<impl Trait> {
   |               ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
   |
   = help: the trait `Sized` is not implemented for `dyn Trait`

error[E0277]: the size for values of type `dyn Trait` cannot be known at compilation time
---
To only update this specific test, also pass `--test-args impl-trait/unsized_coercion3.rs`

error in revision `next`: 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/unsized_coercion3.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,next,old)" "--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/unsized_coercion3.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `dyn Send: Trait` is not satisfied
##[error]  --> /checkout/tests/ui/impl-trait/unsized_coercion3.rs:11:15
   |
LL | fn hello() -> Box<impl Trait + ?Sized> {
   |               ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Trait` is not implemented for `dyn Send`
   |
help: the trait `Trait` is implemented for `u32`
  --> /checkout/tests/ui/impl-trait/unsized_coercion3.rs:9:1
   |
LL | impl Trait for u32 {}
---
To only update this specific test, also pass `--test-args iterators/issue-28098.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/iterators/issue-28098.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/iterators/issue-28098" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0277]: `()` is not an iterator
##[error]  --> /checkout/tests/ui/iterators/issue-28098.rs:2:28
   |
---
To only update this specific test, also pass `--test-args methods/rigid-alias-bound-is-not-inherent.rs`

error in revision `next`: 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/methods/rigid-alias-bound-is-not-inherent.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/methods/rigid-alias-bound-is-not-inherent.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0034]: multiple applicable items in scope
##[error]  --> /checkout/tests/ui/methods/rigid-alias-bound-is-not-inherent.rs:42:7
   |
---
25 
+ error[E0277]: the trait bound `(): Project` is not satisfied
+   --> $DIR/bad-projection.rs:14:1
+    |
+ LL | pub fn uwu() -> <() as Project>::Assoc {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
+    |
+ help: this trait has no implementations, consider adding one
+   --> $DIR/bad-projection.rs:9:1
+    |
+ LL | trait Project {
---
- 
- error[E0277]: the trait bound `(): Project` is not satisfied
-   --> $DIR/bad-projection.rs:14:1
-    |
- LL | pub fn uwu() -> <() as Project>::Assoc {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
-    |
- help: this trait has no implementations, consider adding one
-   --> $DIR/bad-projection.rs:9:1
-    |
- LL | trait Project {
---
-   --> /checkout/tests/ui/proc-macro/bad-projection.rs:9:1
+ error[E0277]: the trait bound `(): Project` is not satisfied
+   --> $DIR/bad-projection.rs:14:1
+    |
+ LL | pub fn uwu() -> <() as Project>::Assoc {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
+    |
+ help: this trait has no implementations, consider adding one
+   --> $DIR/bad-projection.rs:9:1
+    |
+ LL | trait Project {
---
To only update this specific test, also pass `--test-args proc-macro/bad-projection.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/proc-macro/bad-projection.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" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/proc-macro/bad-projection" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0277]: the trait bound `(): Project` is not satisfied
##[error]  --> /checkout/tests/ui/proc-macro/bad-projection.rs:14:17
   |
LL | pub fn uwu() -> <() as Project>::Assoc {}
   |                 ^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
   |
help: this trait has no implementations, consider adding one
  --> /checkout/tests/ui/proc-macro/bad-projection.rs:9:1
   |
LL | trait Project {
   | ^^^^^^^^^^^^^

error[E0277]: the trait bound `(): Project` is not satisfied
##[error]  --> /checkout/tests/ui/proc-macro/bad-projection.rs:14:17
   |
LL | pub fn uwu() -> <() as Project>::Assoc {}
   |                 ^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
   |
help: this trait has no implementations, consider adding one
  --> /checkout/tests/ui/proc-macro/bad-projection.rs:9:1
   |
LL | trait Project {
   | ^^^^^^^^^^^^^
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error[E0277]: the trait bound `(): Project` is not satisfied
##[error]  --> /checkout/tests/ui/proc-macro/bad-projection.rs:14:1
   |
LL | pub fn uwu() -> <() as Project>::Assoc {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
   |
help: this trait has no implementations, consider adding one
  --> /checkout/tests/ui/proc-macro/bad-projection.rs:9:1
   |
LL | trait Project {
   | ^^^^^^^^^^^^^

error[E0593]: function is expected to take 1 argument, but it takes 0 arguments
##[error]  --> /checkout/tests/ui/proc-macro/bad-projection.rs:14:1
   |
LL | pub fn uwu() -> <() as Project>::Assoc {}
   | --------------------------------------^^^
   | |
   | expected function that takes 1 argument
   | takes 0 arguments
   | required by a bound introduced by this call
   |
note: required by a bound in `proc_macro::bridge::client::ProcMacro::bang`
  --> /rustc/FAKE_PREFIX/library/proc_macro/src/bridge/client.rs:366:4

error[E0277]: the trait bound `(): Project` is not satisfied
##[error]  --> /checkout/tests/ui/proc-macro/bad-projection.rs:14:1
   |
LL | pub fn uwu() -> <() as Project>::Assoc {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Project` is not implemented for `()`
   |
help: this trait has no implementations, consider adding one
  --> /checkout/tests/ui/proc-macro/bad-projection.rs:9:1
   |
LL | trait Project {
---

+ error[E0284]: type annotations needed: cannot normalize `<&T as Foo>::Item`
+   --> $DIR/next-solver-region-resolution.rs:18:1
+    |
+ LL | / impl<'a, T> Foo for &T
+ LL | |
+ LL | | where
+ LL | |     Self::Item: Baz,
+    | |____________________^ cannot normalize `<&T as Foo>::Item`
+ 
+ error[E0284]: type annotations needed: cannot normalize `<&'a T as Foo>::Item`
+   --> $DIR/next-solver-region-resolution.rs:12:1
+    |
+ LL | / impl<'a, T> Foo for &'a T
+ LL | | where
+ LL | |     Self::Item: 'a,
+    | |___________________^ cannot normalize `<&'a T as Foo>::Item`
+ 
1 error[E0119]: conflicting implementations of trait `Foo` for type `&_`
2   --> $DIR/next-solver-region-resolution.rs:18:1
3    |

---
-   --> /checkout/tests/ui/specialization/min_specialization/next-solver-region-resolution.rs:12:1
+ error[E0284]: type annotations needed: cannot normalize `<&T as Foo>::Item`
+   --> $DIR/next-solver-region-resolution.rs:18:1
+    |
+ LL | / impl<'a, T> Foo for &T
+ LL | |
+ LL | | where
+ LL | |     Self::Item: Baz,
+    | |____________________^ cannot normalize `<&T as Foo>::Item`
+ 
+ error[E0284]: type annotations needed: cannot normalize `<&'a T as Foo>::Item`
+   --> $DIR/next-solver-region-resolution.rs:12:1
+    |
+ LL | / impl<'a, T> Foo for &'a T
+ LL | | where
+ LL | |     Self::Item: 'a,
+    | |___________________^ cannot normalize `<&'a T as Foo>::Item`
+ 
+ error: aborting due to 3 previous errors
+ Some errors have detailed explanations: E0119, E0284.
+ For more information about an error, try `rustc --explain E0119`.


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 specialization/min_specialization/next-solver-region-resolution.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/specialization/min_specialization/next-solver-region-resolution.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/specialization/min_specialization/next-solver-region-resolution" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver=globally"
stdout: none
--- stderr -------------------------------
error[E0284]: type annotations needed: cannot normalize `<&T as Foo>::Item`
##[error]  --> /checkout/tests/ui/specialization/min_specialization/next-solver-region-resolution.rs:18:1
   |
LL | / impl<'a, T> Foo for &T
LL | | //~^ ERROR: conflicting implementations of trait `Foo` for type `&_`
LL | | where
LL | |     Self::Item: Baz,
   | |____________________^ cannot normalize `<&T as Foo>::Item`

error[E0284]: type annotations needed: cannot normalize `<&'a T as Foo>::Item`
##[error]  --> /checkout/tests/ui/specialization/min_specialization/next-solver-region-resolution.rs:12:1
   |
LL | / impl<'a, T> Foo for &'a T
LL | | where
LL | |     Self::Item: 'a,
   | |___________________^ cannot normalize `<&'a T as Foo>::Item`

error[E0119]: conflicting implementations of trait `Foo` for type `&_`
##[error]  --> /checkout/tests/ui/specialization/min_specialization/next-solver-region-resolution.rs:18:1
   |
LL | / impl<'a, T> Foo for &'a T
---
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/const-traits/unsatisfied-const-trait-bound/unsatisfied-const-trait-bound.stderr`
diff of stderr:

42    |
43 LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
44    |                                   ^^^^^^^^^^^^^
+ note: ...which requires computing normalized predicates of `accept0::{constant#0}`...
+   --> $DIR/unsatisfied-const-trait-bound.rs:28:35
+    |
+ LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
+    |                                   ^^^^^^^^^^^^^
45    = note: ...which again requires evaluating type-level constant, completing the cycle
- note: cycle used when checking that `accept0` is well-formed
+ note: cycle used when computing normalized predicates of `accept0`
47   --> $DIR/unsatisfied-const-trait-bound.rs:28:35
48    |
49 LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}

72 LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
73    |                                                 ^^^^^^^^^^^^^
74 note: ...which requires type-checking `accept1::{constant#0}`...
+   --> $DIR/unsatisfied-const-trait-bound.rs:32:49
+    |
+ LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
+    |                                                 ^^^^^^^^^^^^^
+ note: ...which requires computing normalized predicates of `accept1::{constant#0}`...
75   --> $DIR/unsatisfied-const-trait-bound.rs:32:49
76    |
77 LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
-   --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
+ note: ...which requires computing normalized predicates of `accept0::{constant#0}`...
+   --> $DIR/unsatisfied-const-trait-bound.rs:28:35
+    |
+ LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
+    |                                   ^^^^^^^^^^^^^
+ note: cycle used when computing normalized predicates of `accept0`
+   --> $DIR/unsatisfied-const-trait-bound.rs:32:49
+    |
+ LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
+    |                                                 ^^^^^^^^^^^^^
+ note: ...which requires computing normalized predicates of `accept1::{constant#0}`...


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/const-traits/unsatisfied-const-trait-bound.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/const-traits/unsatisfied-const-trait-bound.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/const-traits/unsatisfied-const-trait-bound" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error: `-Znext-solver=globally` and `generic_const_exprs` are incompatible, using them at the same time is not allowed
##[error]  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:5:30
   |
---

error[E0391]: cycle detected when evaluating type-level constant
##[error]  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
   |
note: ...which requires const-evaluating + checking `accept0::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
note: ...which requires checking if `accept0::{constant#0}` is a trivial const...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
note: ...which requires building MIR for `accept0::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
note: ...which requires building an abstract representation for `accept0::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
note: ...which requires building THIR for `accept0::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
note: ...which requires type-checking `accept0::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
note: ...which requires computing normalized predicates of `accept0::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
   = note: ...which again requires evaluating type-level constant, completing the cycle
note: cycle used when computing normalized predicates of `accept0`
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:28:35
   |
LL | fn accept0<T: Trait>(_: Container<{ T::make() }>) {}
   |                                   ^^^^^^^^^^^^^
   = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information

error[E0391]: cycle detected when checking if `accept1::{constant#0}` is a trivial const
##[error]  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
   |
note: ...which requires building MIR for `accept1::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
note: ...which requires building an abstract representation for `accept1::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
note: ...which requires building THIR for `accept1::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
note: ...which requires type-checking `accept1::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
note: ...which requires computing normalized predicates of `accept1::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
note: ...which requires evaluating type-level constant...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
note: ...which requires const-evaluating + checking `accept1::{constant#0}`...
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
   = note: ...which again requires checking if `accept1::{constant#0}` is a trivial const, completing the cycle
note: cycle used when const-evaluating + checking `accept1::{constant#0}`
  --> /checkout/tests/ui/traits/const-traits/unsatisfied-const-trait-bound.rs:32:49
   |
LL | const fn accept1<T: [const] Trait>(_: Container<{ T::make() }>) {}
   |                                                 ^^^^^^^^^^^^^
   = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information

error: aborting due to 3 previous errors

---
---- [ui] tests/ui/traits/explicit-reference-cast.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/explicit-reference-cast/explicit-reference-cast.stderr`
diff of stderr:

41    = note: required for `&PathBuf` to implement `Into<ToolB>`
42    = note: required for `ToolB` to implement `TryFrom<&PathBuf>`
43 
- error[E0277]: the trait bound `ToolB: From<&PathBuf>` is not satisfied
-   --> $DIR/explicit-reference-cast.rs:43:13
-    |
- LL |     let _ = ToolB::try_from(&path);
-    |             ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
-    |
-    = help: consider casting the `&PathBuf` value to `&Path`
- help: the trait `From<&PathBuf>` is not implemented for `ToolB`
-   --> $DIR/explicit-reference-cast.rs:23:1
-    |
- LL | pub struct ToolB(PathBuf);
-    | ^^^^^^^^^^^^^^^^
- help: the trait `TryFrom<&PathBuf>` is not implemented for `ToolB`
-       but trait `TryFrom<&Path>` is implemented for it
-   --> $DIR/explicit-reference-cast.rs:27:1
-    |
- LL | impl TryFrom<&Path> for ToolB {
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    = help: for that trait implementation, expected `Path`, found `PathBuf`
-    = note: required for `&PathBuf` to implement `Into<ToolB>`
-    = note: required for `ToolB` to implement `TryFrom<&PathBuf>`
- 
- error: aborting due to 3 previous errors
+ error: aborting due to 2 previous errors
67 
68 For more information about this error, try `rustc --explain E0277`.
---
To only update this specific test, also pass `--test-args traits/explicit-reference-cast.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/explicit-reference-cast.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/explicit-reference-cast" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0277]: the trait bound `ToolA: From<&PathBuf>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/explicit-reference-cast.rs:40:13
   |
LL |     let _ = ToolA::from(&path);
   |             ^^^^^ unsatisfied trait bound
   |
   = help: consider casting the `&PathBuf` value to `&Path`
help: the trait `From<&PathBuf>` is not implemented for `ToolA`
  --> /checkout/tests/ui/traits/explicit-reference-cast.rs:6:1
   |
LL | pub struct ToolA(PathBuf);
   | ^^^^^^^^^^^^^^^^
help: `ToolA` implements trait `From<T>`
  --> /checkout/tests/ui/traits/explicit-reference-cast.rs:9:1
   |
LL | impl From<&Path> for ToolA {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `From<&Path>`
...
LL | impl From<&str> for ToolA {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ `From<&str>`

error[E0277]: the trait bound `ToolB: TryFrom<&PathBuf>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/explicit-reference-cast.rs:43:13
   |
LL |     let _ = ToolB::try_from(&path);
   |             ^^^^^ unsatisfied trait bound
   |
   = help: consider casting the `&PathBuf` value to `&Path`
help: the trait `From<&PathBuf>` is not implemented for `ToolB`
  --> /checkout/tests/ui/traits/explicit-reference-cast.rs:23:1
   |
LL | pub struct ToolB(PathBuf);
   | ^^^^^^^^^^^^^^^^
help: the trait `TryFrom<&PathBuf>` is not implemented for `ToolB`
      but trait `TryFrom<&Path>` is implemented for it
  --> /checkout/tests/ui/traits/explicit-reference-cast.rs:27:1
   |
LL | impl TryFrom<&Path> for ToolB {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for that trait implementation, expected `Path`, found `PathBuf`
   = note: required for `&PathBuf` to implement `Into<ToolB>`
   = note: required for `ToolB` to implement `TryFrom<&PathBuf>`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
------------------------------------------
---
110    |
111 LL | #[derive(Clone, Copy)]
-    |          ^^^^^ `i32` is not an iterator
+    |          ----- in this derive macro expansion
+ LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
+    |                                 ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
113    |
114    = help: the trait `Iterator` is not implemented for `i32`
115 

116 error[E0277]: `i32` is not an iterator
-   --> $DIR/issue-50480.rs:12:33
+   --> $DIR/issue-50480.rs:11:10
118    |
119 LL | #[derive(Clone, Copy)]
-    |          ----- in this derive macro expansion
- LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
-    |                                 ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
+    |          ^^^^^ `i32` is not an iterator
123    |
124    = help: the trait `Iterator` is not implemented for `i32`
125 

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/traits/issue-50480.rs:12:33
-   --> /checkout/tests/ui/traits/issue-50480.rs:11:10
+   --> $DIR/issue-50480.rs:12:33
+    |          ----- in this derive macro expansion
+ LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
+    |                                 ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
+   --> $DIR/issue-50480.rs:11:10
+    |          ^^^^^ `i32` is not an iterator


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/issue-50480.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/issue-50480.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/issue-50480" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0425]: cannot find type `N` in this scope
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:2:12
   |
LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |            ^ not found in this scope
   |
help: you might be missing a type parameter
   |
LL | struct Foo<N>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |           +++

error[E0425]: cannot find type `NotDefined` in this scope
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:2:15
   |
LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |               ^^^^^^^^^^ not found in this scope

error[E0425]: cannot find type `N` in this scope
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:2:12
   |
LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |            ^ not found in this scope
   |
help: you might be missing a type parameter
   |
LL | struct Foo<N>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |           +++

error[E0425]: cannot find type `NotDefined` in this scope
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:2:15
   |
LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |               ^^^^^^^^^^ not found in this scope
   |
help: you might be missing a type parameter
   |
LL | struct Foo<NotDefined>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |           ++++++++++++

error[E0425]: cannot find type `N` in this scope
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:12:18
   |
LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |            -     ^
   |            |
   |            similarly named type parameter `T` defined here
   |
help: a type parameter with a similar name exists
   |
LL - struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
LL + struct Bar<T>(T, T, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |
help: you might be missing a type parameter
   |
LL | struct Bar<T, N>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |             +++

error[E0425]: cannot find type `NotDefined` in this scope
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:12:21
   |
LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |                     ^^^^^^^^^^ not found in this scope

error[E0277]: `i32` is not an iterator
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:2:27
   |
LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |                           ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `i32`

error[E0204]: the trait `Copy` cannot be implemented for this type
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:2:8
   |
LL | #[derive(Clone, Copy)]
   |                 ---- in this derive macro expansion
LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |        ^^^                                         --------  ------ this field does not implement `Copy`
   |                                                    |
   |                                                    this field does not implement `Copy`

error[E0204]: the trait `Copy` cannot be implemented for this type
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:12:8
   |
LL | #[derive(Clone, Copy)] //~ ERROR `i32` is not an iterator
   |                 ---- in this derive macro expansion
LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |        ^^^                                               --------  ------ this field does not implement `Copy`
   |                                                          |
   |                                                          this field does not implement `Copy`

error[E0277]: `i32` is not an iterator
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:12:33
   |
LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |                                 ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `i32`

error[E0277]: `i32` is not an iterator
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:2:28
   |
LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |                            ^^^ `i32` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `i32`

error[E0277]: `i32` is not an iterator
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:12:33
   |
LL | #[derive(Clone, Copy)] //~ ERROR `i32` is not an iterator
   |          ----- in this derive macro expansion
LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
   |                                 ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `i32`

error[E0277]: `i32` is not an iterator
##[error]  --> /checkout/tests/ui/traits/issue-50480.rs:11:10
   |
LL | #[derive(Clone, Copy)] //~ ERROR `i32` is not an iterator
   |          ^^^^^ `i32` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `i32`

error: aborting due to 13 previous errors

---
diff of stderr:

- error[E0275]: overflow evaluating the requirement `String: Copy`
-   --> $DIR/alias-bound-unsound.rs:22:38
+ error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
+   --> $DIR/alias-bound-unsound.rs:22:5
3    |
4 LL |     type Item = String where String: Copy;
-    |                                      ^^^^
+    |     ^^^^^^^^^
+ 
+ error[E0276]: impl has stricter requirements than trait
+   --> $DIR/alias-bound-unsound.rs:22:38
6    |
- note: the requirement `String: Copy` appears on the `impl`'s associated type `Item` but not on the corresponding trait's associated type
-   --> $DIR/alias-bound-unsound.rs:12:10
-    |
- LL | trait Foo {
-    |       --- in this trait
12 LL |     type Item: Copy
-    |          ^^^^ this trait's associated type doesn't have the requirement `String: Copy`
+    |     --------------- definition of `Item` from trait
+ ...
+ LL |     type Item = String where String: Copy;
+    |                                      ^^^^ impl has extra requirement `String: Copy`
14 
- error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == String`
-   --> $DIR/alias-bound-unsound.rs:28:22
+ error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
+   --> $DIR/alias-bound-unsound.rs:28:43
17    |
18 LL |     let _ = identity(<() as Foo>::copy_me(&x));
-    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
+    |                                           ^^
20 
21 error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
22   --> $DIR/alias-bound-unsound.rs:28:22

23    |
24 LL |     let _ = identity(<() as Foo>::copy_me(&x));
-    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
+    |                      ^^^^^^^^^^^^^^^^^^^^
26 
- error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
-   --> $DIR/alias-bound-unsound.rs:28:43
-    |
- LL |     let _ = identity(<() as Foo>::copy_me(&x));
-    |                                           ^^
- 
- error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
+ error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == String`
34   --> $DIR/alias-bound-unsound.rs:28:22
35    |
36 LL |     let _ = identity(<() as Foo>::copy_me(&x));

37    |                      ^^^^^^^^^^^^^^^^^^^^^^^^
-    |
-    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
40 
---
Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/traits/next-solver/alias-bound-unsound.rs:22:5
-   --> /checkout/tests/ui/traits/next-solver/alias-bound-unsound.rs:22:38
-   --> /checkout/tests/ui/traits/next-solver/alias-bound-unsound.rs:28:43
+ error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
+   --> $DIR/alias-bound-unsound.rs:22:5
+    |     ^^^^^^^^^
+ 
+ error[E0276]: impl has stricter requirements than trait
+   --> $DIR/alias-bound-unsound.rs:22:38
+    |     --------------- definition of `Item` from trait
+ ...
+ LL |     type Item = String where String: Copy;
+    |                                      ^^^^ impl has extra requirement `String: Copy`
+ error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
+   --> $DIR/alias-bound-unsound.rs:28:43
+    |                                           ^^
+    |                      ^^^^^^^^^^^^^^^^^^^^
+ error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == String`
+ Some errors have detailed explanations: E0275, E0276.
+ For more information about an error, try `rustc --explain E0275`.


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/alias-bound-unsound.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/alias-bound-unsound.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/alias-bound-unsound" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
##[error]  --> /checkout/tests/ui/traits/next-solver/alias-bound-unsound.rs:22:5
   |
LL |     type Item = String where String: Copy;
   |     ^^^^^^^^^

---
...
LL |     type Item = String where String: Copy;
   |                                      ^^^^ impl has extra requirement `String: Copy`

error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
##[error]  --> /checkout/tests/ui/traits/next-solver/alias-bound-unsound.rs:28:43
   |
LL |     let _ = identity(<() as Foo>::copy_me(&x));
   |                                           ^^

error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == _`
##[error]  --> /checkout/tests/ui/traits/next-solver/alias-bound-unsound.rs:28:22
   |
LL |     let _ = identity(<() as Foo>::copy_me(&x));
   |                      ^^^^^^^^^^^^^^^^^^^^

error[E0275]: overflow evaluating the requirement `<() as Foo>::Item == String`
##[error]  --> /checkout/tests/ui/traits/next-solver/alias-bound-unsound.rs:28:22
   |
LL |     let _ = identity(<() as Foo>::copy_me(&x));
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 5 previous errors

Some errors have detailed explanations: E0275, E0276.
For more information about an error, try `rustc --explain E0275`.
------------------------------------------

---- [ui] tests/ui/traits/next-solver/alias-bound-unsound.rs stdout end ----
---- [ui] tests/ui/traits/next-solver/assembly/ambiguity-due-to-uniquification-4.rs#next stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/assembly/ambiguity-due-to-uniquification-4.next/ambiguity-due-to-uniquification-4.next.stderr`
diff of stderr:

- error[E0284]: type annotations needed: cannot normalize `<T as Trait<'_>>::Type`
-   --> $DIR/ambiguity-due-to-uniquification-4.rs:17:44
+ error[E0282]: type annotations needed
+   --> $DIR/ambiguity-due-to-uniquification-4.rs:17:47
3    |
4 LL | pub fn f<'a, 'b, T: Trait<'a> + Trait<'b>>(v: <T as Trait<'a>>::Type) {}
-    |                                            ^ cannot normalize `<T as Trait<'_>>::Type`
+    |                                               ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for associated type `<T as Trait<'_>>::Type`
6 
7 error: aborting due to 1 previous error
8 

- For more information about this error, try `rustc --explain E0284`.
---
To only update this specific test, also pass `--test-args traits/next-solver/assembly/ambiguity-due-to-uniquification-4.rs`

error in revision `next`: 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/assembly/ambiguity-due-to-uniquification-4.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/assembly/ambiguity-due-to-uniquification-4.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0282]: type annotations needed
##[error]  --> /checkout/tests/ui/traits/next-solver/assembly/ambiguity-due-to-uniquification-4.rs:17:47
   |
LL | pub fn f<'a, 'b, T: Trait<'a> + Trait<'b>>(v: <T as Trait<'a>>::Type) {}
   |                                               ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for associated type `<T as Trait<'_>>::Type`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0282`.
------------------------------------------
---
diff of stderr:

8    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
9    |
10    = note: overflow evaluating the requirement `<LocalTy as Overflow>::Assoc == _`
-    = note: overflow evaluating the requirement `<LocalTy as Overflow>::Assoc == _`
12    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`trait_ref_is_knowable_norm_overflow`)
13 
14 error: aborting due to 1 previous error


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/coherence/trait_ref_is_knowable-norm-overflow.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/coherence/trait_ref_is_knowable-norm-overflow.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/coherence/trait_ref_is_knowable-norm-overflow" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait`
##[error]  --> /checkout/tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.rs:20:1
   |
LL | impl<T: Copy> Trait for T {}
   | ------------------------- first implementation here
LL | struct LocalTy;
LL | impl Trait for <LocalTy as Overflow>::Assoc {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
   |
   = note: overflow evaluating the requirement `<LocalTy as Overflow>::Assoc == _`
   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`trait_ref_is_knowable_norm_overflow`)

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/traits/next-solver/coherence/trait_ref_is_knowable-norm-overflow.rs stdout end ----
---- [ui] tests/ui/traits/next-solver/cycles/coinduction/item-bound-via-impl-where-clause.rs#next stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/cycles/coinduction/item-bound-via-impl-where-clause.next/item-bound-via-impl-where-clause.next.stderr`
diff of stderr:

14   --> $DIR/item-bound-via-impl-where-clause.rs:31:21
15    |
16 LL |     let s: String = transmute::<_, String>(vec![65_u8, 66, 67]);
-    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |                     ^^^^^^^^^^^^^^^^^^^^^^
18 
19 error[E0275]: overflow evaluating the requirement `<Vec<u8> as Trait<String>>::Proof == _`
20   --> $DIR/item-bound-via-impl-where-clause.rs:31:21

21    |
22 LL |     let s: String = transmute::<_, String>(vec![65_u8, 66, 67]);
23    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    |
-    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
26 
27 error: aborting due to 3 previous errors
---
To only update this specific test, also pass `--test-args traits/next-solver/cycles/coinduction/item-bound-via-impl-where-clause.rs`

error in revision `next`: 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/cycles/coinduction/item-bound-via-impl-where-clause.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/cycles/coinduction/item-bound-via-impl-where-clause.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0275]: overflow evaluating the requirement `Vec<u8>: Trait<String>`
##[error]  --> /checkout/tests/ui/traits/next-solver/cycles/coinduction/item-bound-via-impl-where-clause.rs:31:33
   |
LL |     let s: String = transmute::<_, String>(vec![65_u8, 66, 67]);
   |                                 ^
   |
note: required by a bound in `transmute`
  --> /checkout/tests/ui/traits/next-solver/cycles/coinduction/item-bound-via-impl-where-clause.rs:29:17
   |
LL | fn transmute<L: Trait<R>, R>(r: L) -> <L::Proof as Trait<R>>::Proof { r }
   |                 ^^^^^^^^ required by this bound in `transmute`

error[E0275]: overflow evaluating the requirement `<Vec<u8> as Trait<String>>::Proof == _`
##[error]  --> /checkout/tests/ui/traits/next-solver/cycles/coinduction/item-bound-via-impl-where-clause.rs:31:21
   |
LL |     let s: String = transmute::<_, String>(vec![65_u8, 66, 67]);
   |                     ^^^^^^^^^^^^^^^^^^^^^^

error[E0275]: overflow evaluating the requirement `<Vec<u8> as Trait<String>>::Proof == _`
##[error]  --> /checkout/tests/ui/traits/next-solver/cycles/coinduction/item-bound-via-impl-where-clause.rs:31:21
   |
LL |     let s: String = transmute::<_, String>(vec![65_u8, 66, 67]);
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0275`.
---
To only update this specific test, also pass `--test-args traits/next-solver/cycles/normalizes-to-is-not-productive.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/cycles/normalizes-to-is-not-productive.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/cycles/normalizes-to-is-not-productive" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `Foo: Bound` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/cycles/normalizes-to-is-not-productive.rs:40:1
   |
---
---- [ui] tests/ui/traits/next-solver/dyn-incompatibility.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/dyn-incompatibility/dyn-incompatibility.stderr`
diff of stderr:

15 LL | pub fn copy_any<T: std::marker::Copy>(t: &T) -> T {
16    |                  +++++++++++++++++++
17 
- error[E0277]: the trait bound `T: Copy` is not satisfied in `dyn Setup<From = T>`
-   --> $DIR/dyn-incompatibility.rs:12:31
-    |
- LL |     copy::<dyn Setup<From=T>>(t)
-    |                               ^ within `dyn Setup<From = T>`, the trait `Copy` is not implemented for `T`
-    |
-    = note: required because it appears within the type `dyn Setup<From = T>`
- help: consider restricting type parameter `T` with trait `Copy`
-    |
- LL | pub fn copy_any<T: std::marker::Copy>(t: &T) -> T {
-    |                  +++++++++++++++++++
- 
- error[E0277]: the trait bound `T: Copy` is not satisfied in `dyn Setup<From = T>`
-   --> $DIR/dyn-incompatibility.rs:12:5
-    |
- LL |     copy::<dyn Setup<From=T>>(t)
-    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `dyn Setup<From = T>`, the trait `Copy` is not implemented for `T`
-    |
-    = note: required because it appears within the type `dyn Setup<From = T>`
- help: consider restricting type parameter `T` with trait `Copy`
-    |
- LL | pub fn copy_any<T: std::marker::Copy>(t: &T) -> T {
-    |                  +++++++++++++++++++
- 
- error: aborting due to 3 previous errors
+ error: aborting due to 1 previous error
43 
---
To only update this specific test, also pass `--test-args traits/next-solver/dyn-incompatibility.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/dyn-incompatibility.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/dyn-incompatibility" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `T: Copy` is not satisfied in `dyn Setup<From = T>`
##[error]  --> /checkout/tests/ui/traits/next-solver/dyn-incompatibility.rs:12:12
   |
LL |     copy::<dyn Setup<From=T>>(t)
   |            ^^^^^^^^^^^^^^^^^ within `dyn Setup<From = T>`, the trait `Copy` is not implemented for `T`
   |
   = note: required because it appears within the type `dyn Setup<From = T>`
note: required by a bound in `copy`
  --> /checkout/tests/ui/traits/next-solver/dyn-incompatibility.rs:7:12
   |
LL | fn copy<U: Setup + ?Sized>(from: &U::From) -> U::From {
   |            ^^^^^ required by this bound in `copy`
help: consider restricting type parameter `T` with trait `Copy`
   |
LL | pub fn copy_any<T: std::marker::Copy>(t: &T) -> T {
   |                  +++++++++++++++++++

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0277`.
------------------------------------------

---- [ui] tests/ui/traits/next-solver/dyn-incompatibility.rs stdout end ----
---- [ui] tests/ui/traits/next-solver/find-param-recursion-issue-152716.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/find-param-recursion-issue-152716/find-param-recursion-issue-152716.stderr`
diff of stderr:

- error[E0275]: overflow evaluating the requirement `(): Trait<for<'b> fn(<T as Proj<'b>>::Assoc)>`
+ error[E0277]: the trait bound `(): Trait<fn(fn(fn(for<'b> fn(<T as Proj<'b>>::Assoc))))>` is not satisfied
2   --> $DIR/find-param-recursion-issue-152716.rs:16:9
3    |
4 LL |     (): Trait<<T as Proj<'static>>::Assoc>

-    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Trait<fn(fn(fn(for<'b> fn(<T as Proj<'b>>::Assoc))))>` is not implemented for `()`
6    |
-    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`find_param_recursion_issue_152716`)
+ help: this trait has no implementations, consider adding one
+   --> $DIR/find-param-recursion-issue-152716.rs:9:1
+    |
---
12 

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/traits/next-solver/find-param-recursion-issue-152716.rs:9:1
+ error[E0277]: the trait bound `(): Trait<fn(fn(fn(for<'b> fn(<T as Proj<'b>>::Assoc))))>` is not satisfied
+    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Trait<fn(fn(fn(for<'b> fn(<T as Proj<'b>>::Assoc))))>` is not implemented for `()`
+ help: this trait has no implementations, consider adding one
+   --> $DIR/find-param-recursion-issue-152716.rs:9:1
+    |
+ LL | trait Trait<T> {}
+    | ^^^^^^^^^^^^^^
+ For more information about this error, try `rustc --explain E0277`.
---
To only update this specific test, also pass `--test-args traits/next-solver/find-param-recursion-issue-152716.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/find-param-recursion-issue-152716.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/find-param-recursion-issue-152716" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `(): Trait<fn(fn(fn(for<'b> fn(<T as Proj<'b>>::Assoc))))>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/find-param-recursion-issue-152716.rs:16:9
   |
LL |     (): Trait<<T as Proj<'static>>::Assoc>
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Trait<fn(fn(fn(for<'b> fn(<T as Proj<'b>>::Assoc))))>` is not implemented for `()`
   |
help: this trait has no implementations, consider adding one
  --> /checkout/tests/ui/traits/next-solver/find-param-recursion-issue-152716.rs:9:1
   |
LL | trait Trait<T> {}
---
---- [ui] tests/ui/traits/next-solver/normalization-shadowing/is-global-norm-binius_field-regression.rs#next stdout ----

error in revision `next`: test compilation failed although it shouldn't!
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/normalization-shadowing/is-global-norm-binius_field-regression.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/normalization-shadowing/is-global-norm-binius_field-regression.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0310]: the associated type `<Self as HasUnderlier>::Underlier` may not live long enough
##[error]  --> /checkout/tests/ui/traits/next-solver/normalization-shadowing/is-global-norm-binius_field-regression.rs:11:50
   |
LL | pub trait Field: Sized + HasUnderlier<Underlier: PackScalar<Self>> {}
   |                                                  ^^^^^^^^^^^^^^^^
   |                                                  |
   |                                                  the associated type `<Self as HasUnderlier>::Underlier` must be valid for the static lifetime...
   |                                                  ...so that the type `<Self as HasUnderlier>::Underlier` will meet its required lifetime bounds
   |
help: consider adding an explicit lifetime bound
   |
LL | pub trait Field: Sized + HasUnderlier<Underlier: PackScalar<Self>> where <Self as HasUnderlier>::Underlier: 'static {}
   |                                                                    ++++++++++++++++++++++++++++++++++++++++++++++++

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0310`.
------------------------------------------

---- [ui] tests/ui/traits/next-solver/normalization-shadowing/is-global-norm-binius_field-regression.rs#next stdout end ----
---- [ui] tests/ui/traits/next-solver/normalize/normalize-param-env-1.rs stdout ----

error: test compilation failed although it shouldn't!
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/normalize/normalize-param-env-1.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/normalize/normalize-param-env-1" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `T: Trait<()>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-1.rs:26:1
   |
---
------------------------------------------

---- [ui] tests/ui/traits/next-solver/normalize/normalize-param-env-1.rs stdout end ----
---- [ui] tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/normalize/normalize-param-env-2/normalize-param-env-2.stderr`
diff of stderr:

- error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc == _`
-   --> $DIR/normalize-param-env-2.rs:22:5
+ error[E0276]: impl has stricter requirements than trait
+   --> $DIR/normalize-param-env-2.rs:24:22
3    |
4 LL | /     fn f()
5 LL | |     where

6 LL | |         Self::Assoc: A<T>,
-    | |__________________________^
- 
- error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc == _`
-   --> $DIR/normalize-param-env-2.rs:22:5
-    |
- LL | /     fn f()
- LL | |     where
- LL | |         Self::Assoc: A<T>,
-    | |__________________________^
-    |
-    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
- 
- error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc == _`
-   --> $DIR/normalize-param-env-2.rs:24:22
-    |
- LL |         Self::Assoc: A<T>,
-    |                      ^^^^
- 
- error[E0283]: type annotations needed
-   --> $DIR/normalize-param-env-2.rs:24:22
-    |
- LL |         Self::Assoc: A<T>,
-    |                      ^^^^ cannot infer type
-    |
- note: multiple `impl`s or `where` clauses satisfying `_: A<T>` found
-   --> $DIR/normalize-param-env-2.rs:19:1
-    |
- LL | impl<T> A<T> for () {
-    | ^^^^^^^^^^^^^^^^^^^
+    | |__________________________- definition of `f` from trait
36 ...
- LL |         Self::Assoc: A<T>,
-    |                      ^^^^
- note: the requirement `_: A<T>` appears on the `impl`'s associated function `f` but not on the corresponding trait's associated function
-   --> $DIR/normalize-param-env-2.rs:12:8
-    |
- LL | trait A<T> {
-    |       - in this trait
- ...
- LL |     fn f()
-    |        ^ this trait's associated function doesn't have the requirement `_: A<T>`
+ LL |           Self::Assoc: A<T>,
+    |                        ^^^^ impl has extra requirement `<() as A<T>>::Assoc: A<T>`
47 
- error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc == _`
+ error[E0277]: the trait bound `<() as A<T>>::Assoc: A<T>` is not satisfied
49   --> $DIR/normalize-param-env-2.rs:24:22
50    |
51 LL |         Self::Assoc: A<T>,

-    |                      ^^^^
+    |                      ^^^^ the trait `A<T>` is not implemented for `<() as A<T>>::Assoc`
53    |
- note: required by a bound in `A`
-   --> $DIR/normalize-param-env-2.rs:9:1
-    |
- LL | / trait A<T> {
- LL | |     type Assoc;
- LL | |
- LL | |     fn f()
- ...  |
- LL | | }
-    | |_^ required by this bound in `A`
- 
- error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc == _`
-   --> $DIR/normalize-param-env-2.rs:24:22
-    |
- LL |         Self::Assoc: A<T>,
-    |                      ^^^^
-    |
---
-    |
- LL |         Self::Assoc: A<T>,
-    |                      ^^^^ cannot infer type
-    |
- note: multiple `impl`s or `where` clauses satisfying `_: A<T>` found
+ help: the trait `A<T>` is implemented for `()`
80   --> $DIR/normalize-param-env-2.rs:19:1
81    |
82 LL | impl<T> A<T> for () {

83    | ^^^^^^^^^^^^^^^^^^^
- ...
- LL |         Self::Assoc: A<T>,
-    |                      ^^^^
87 
- error[E0275]: overflow evaluating whether `<() as A<T>>::Assoc` is well-formed
-   --> $DIR/normalize-param-env-2.rs:24:22
+ error[E0277]: the trait bound `<() as A<T>>::Assoc: A<T>` is not satisfied
+   --> $DIR/normalize-param-env-2.rs:27:18
90    |
- LL |         Self::Assoc: A<T>,
-    |                      ^^^^
- 
- error[E0275]: overflow evaluating the requirement `(): A<T>`
-   --> $DIR/normalize-param-env-2.rs:27:10
-    |
97 LL |         <() as A<T>>::f();
-    |          ^^
- 
- error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc == _`
-   --> $DIR/normalize-param-env-2.rs:27:9
+    |                  ^ the trait `A<T>` is not implemented for `<() as A<T>>::Assoc`
102    |
- LL |         <() as A<T>>::f();
-    |         ^^^^^^^^^^^^^^^^^
- 
- error[E0283]: type annotations needed
-   --> $DIR/normalize-param-env-2.rs:27:9
-    |
- LL |         <() as A<T>>::f();
-    |         ^^^^^^^^^^^^^^^^^ cannot infer type
-    |
- note: multiple `impl`s or `where` clauses satisfying `_: A<T>` found
+ help: the trait `A<T>` is implemented for `()`
113   --> $DIR/normalize-param-env-2.rs:19:1
114    |
115 LL | impl<T> A<T> for () {

116    | ^^^^^^^^^^^^^^^^^^^
---
-   --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs:24:22
-   --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs:27:18
+ error[E0276]: impl has stricter requirements than trait
+   --> $DIR/normalize-param-env-2.rs:24:22
+    | |__________________________- definition of `f` from trait
+ LL |           Self::Assoc: A<T>,
+    |                        ^^^^ impl has extra requirement `<() as A<T>>::Assoc: A<T>`
+ error[E0277]: the trait bound `<() as A<T>>::Assoc: A<T>` is not satisfied
+    |                      ^^^^ the trait `A<T>` is not implemented for `<() as A<T>>::Assoc`
+ help: the trait `A<T>` is implemented for `()`
+ error[E0277]: the trait bound `<() as A<T>>::Assoc: A<T>` is not satisfied
+   --> $DIR/normalize-param-env-2.rs:27:18
+    |                  ^ the trait `A<T>` is not implemented for `<() as A<T>>::Assoc`
+ help: the trait `A<T>` is implemented for `()`
+ error: aborting due to 3 previous errors
+ Some errors have detailed explanations: E0276, E0277.
+ For more information about an error, try `rustc --explain E0276`.


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/normalize/normalize-param-env-2.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/normalize/normalize-param-env-2.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/normalize/normalize-param-env-2" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0276]: impl has stricter requirements than trait
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs:24:22
   |
LL | /     fn f()
LL | |     where
LL | |         Self::Assoc: A<T>,
   | |__________________________- definition of `f` from trait
...
LL |           Self::Assoc: A<T>,
   |                        ^^^^ impl has extra requirement `<() as A<T>>::Assoc: A<T>`

error[E0277]: the trait bound `<() as A<T>>::Assoc: A<T>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs:24:22
   |
LL |         Self::Assoc: A<T>,
   |                      ^^^^ the trait `A<T>` is not implemented for `<() as A<T>>::Assoc`
   |
help: the trait `A<T>` is implemented for `()`
  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs:19:1
   |
LL | impl<T> A<T> for () {
   | ^^^^^^^^^^^^^^^^^^^

error[E0277]: the trait bound `<() as A<T>>::Assoc: A<T>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs:27:18
   |
LL |         <() as A<T>>::f();
   |                  ^ the trait `A<T>` is not implemented for `<() as A<T>>::Assoc`
   |
help: the trait `A<T>` is implemented for `()`
  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-2.rs:19:1
   |
LL | impl<T> A<T> for () {
   | ^^^^^^^^^^^^^^^^^^^
note: required by a bound in `A::f`
---
---- [ui] tests/ui/traits/next-solver/normalize/normalize-param-env-3.rs stdout ----

error: test compilation failed although it shouldn't!
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/normalize/normalize-param-env-3.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/normalize/normalize-param-env-3" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `C: Channel<()>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-3.rs:22:5
   |
LL | /     fn send<C>()
LL | |     where
LL | |         C: Channel<Self::Msg>,
   | |______________________________^ the trait `Channel<()>` is not implemented for `C`

error[E0276]: impl has stricter requirements than trait
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-3.rs:24:12
   |
LL | /     fn send<C>()
LL | |     where
LL | |         C: Channel<Self::Msg>;
   | |______________________________- definition of `send` from trait
...
LL |           C: Channel<Self::Msg>,
   |              ^^^^^^^^^^^^^^^^^^ impl has extra requirement `C: Channel<()>`

error[E0277]: the trait bound `C: Channel<()>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-3.rs:22:5
   |
LL | /     fn send<C>()
LL | |     where
LL | |         C: Channel<Self::Msg>,
   | |______________________________^ the trait `Channel<()>` is not implemented for `C`
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error[E0277]: the trait bound `C: Channel<()>` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-3.rs:24:12
   |
LL |         C: Channel<Self::Msg>,
   |            ^^^^^^^^^^^^^^^^^^ the trait `Channel<()>` is not implemented for `C`
   |
note: required by a bound in `Channel`
  --> /checkout/tests/ui/traits/next-solver/normalize/normalize-param-env-3.rs:7:19
   |
LL | trait Channel<I>: GenericTrait<Self::T> {
   |                   ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Channel`

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0276, E0277.
---
error in revision `next`: ui test did not emit an error
note: by default, ui tests are expected not to compile.
hint: use check-pass, build-pass, or run-pass directive to change this behavior.
status: exit status: 0
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/normalize/normalize-param-env-4.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" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--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/normalize/normalize-param-env-4.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
stderr: none

---- [ui] tests/ui/traits/next-solver/normalize/normalize-param-env-4.rs#next stdout end ----
---- [ui] tests/ui/traits/next-solver/stalled-coroutine-obligations.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/next-solver/stalled-coroutine-obligations/stalled-coroutine-obligations.stderr`
diff of stderr:

29 LL |     let foo: T = async { a };
30    |                          ^ has type `False` which does not implement `Valid`
31 
- error[E0271]: type mismatch resolving `impl Future + Send == {async block@$DIR/stalled-coroutine-obligations.rs:41:9: 41:19}`
-   --> $DIR/stalled-coroutine-obligations.rs:39:43
+ error: future cannot be sent between threads safely
+   --> $DIR/stalled-coroutine-obligations.rs:41:9
34    |
- LL |     fn stalled_send(&self, b: *mut ()) -> impl Future + Send {
-    |                                           ^^^^^^^^^^^^^^^^^^ types differ
+ LL | /         async move {
+ LL | |             b
+ LL | |         }
+    | |_________^ future created by async block is not `Send`
+    |
+    = help: within `{async block@$DIR/stalled-coroutine-obligations.rs:41:9: 41:19}`, the trait `Send` is not implemented for `*mut ()`
+ note: captured value is not `Send`
+   --> $DIR/stalled-coroutine-obligations.rs:42:13
+    |
+ LL |             b
+    |             ^ has type `*mut ()` which is not `Send`
37 
38 error: aborting due to 4 previous errors
39 

- Some errors have detailed explanations: E0271, E0277.
- For more information about an error, try `rustc --explain E0271`.
+ For more information about this error, try `rustc --explain E0277`.
42 

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:41:9
-    = help: within `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:41:9: 41:19}`, the trait `Send` is not implemented for `*mut ()`
-   --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:42:13
+ error: future cannot be sent between threads safely
+   --> $DIR/stalled-coroutine-obligations.rs:41:9
+ LL | /         async move {
+ LL | |             b
+ LL | |         }
+    | |_________^ future created by async block is not `Send`
+    |
+    = help: within `{async block@$DIR/stalled-coroutine-obligations.rs:41:9: 41:19}`, the trait `Send` is not implemented for `*mut ()`
+ note: captured value is not `Send`
+   --> $DIR/stalled-coroutine-obligations.rs:42:13
+    |
+ LL |             b
+    |             ^ has type `*mut ()` which is not `Send`
+ For more information about this error, try `rustc --explain E0277`.


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/stalled-coroutine-obligations.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/stalled-coroutine-obligations.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/stalled-coroutine-obligations" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2024" "-Znext-solver" "--diagnostic-width=300"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:18:18: 18:23}: Copy` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:18:14
   |
LL |     let foo: T = async {};
   |              ^ the trait `Copy` is not implemented for `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:18:18: 18:23}`

error[E0277]: the trait bound `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:22:18: 22:23}: Clone` is not satisfied
##[error]  --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:22:14
   |
LL |     let bar: U = async {};
   |              ^ the trait `Clone` is not implemented for `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:22:18: 22:23}`

error[E0277]: the trait bound `False: Valid` is not satisfied in `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:33:18: 33:23}`
##[error]  --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:33:14
   |
LL |     let foo: T = async { a };
   |              ^   ----- within this `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:33:18: 33:23}`
   |              |
   |              unsatisfied trait bound
   |
help: within `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:33:18: 33:23}`, the trait `Valid` is not implemented for `False`
  --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:27:1
   |
LL | struct False;
   | ^^^^^^^^^^^^
note: captured value does not implement `Valid`
  --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:33:26
   |
LL |     let foo: T = async { a };
   |                          ^ has type `False` which does not implement `Valid`

error: future cannot be sent between threads safely
##[error]  --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:41:9
   |
LL | /         async move {
LL | |             b
LL | |         }
   | |_________^ future created by async block is not `Send`
   |
   = help: within `{async block@/checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:41:9: 41:19}`, the trait `Send` is not implemented for `*mut ()`
note: captured value is not `Send`
  --> /checkout/tests/ui/traits/next-solver/stalled-coroutine-obligations.rs:42:13
   |
LL |             b
   |             ^ has type `*mut ()` which is not `Send`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
------------------------------------------

---- [ui] tests/ui/traits/next-solver/stalled-coroutine-obligations.rs stdout end ----
---- [ui] tests/ui/traits/suggest-dereferences/invalid-suggest-deref-issue-127590.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/suggest-dereferences/invalid-suggest-deref-issue-127590/invalid-suggest-deref-issue-127590.stderr`
diff of stderr:

68    = note: required for `Zip<std::slice::Iter<'_, {integer}>, &std::slice::Iter<'_, {integer}>>` to implement `IntoIterator`
69    = note: this error originates in the macro `iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
70 
- error[E0277]: `&std::slice::Iter<'_, {integer}>` is not an iterator
-   --> $DIR/invalid-suggest-deref-issue-127590.rs:6:24
-    |
- LL |     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter()) {
-    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&std::slice::Iter<'_, {integer}>` is not an iterator
-    |
-    = help: the trait `Iterator` is not implemented for `&std::slice::Iter<'_, {integer}>`
- help: the trait `Iterator` is implemented for `std::slice::Iter<'_, T>`
-   --> $SRC_DIR/core/src/slice/iter/macros.rs:LL:COL
-   --> $SRC_DIR/core/src/slice/iter.rs:LL:COL
---
- 
- error[E0277]: `&std::slice::Iter<'_, {integer}>` is not an iterator
-   --> $DIR/invalid-suggest-deref-issue-127590.rs:14:24
-    |
- LL |     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter().clone()) {
-    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&std::slice::Iter<'_, {integer}>` is not an iterator
-    |
-    = help: the trait `Iterator` is not implemented for `&std::slice::Iter<'_, {integer}>`
- help: the trait `Iterator` is implemented for `std::slice::Iter<'_, T>`
-   --> $SRC_DIR/core/src/slice/iter/macros.rs:LL:COL
-   --> $SRC_DIR/core/src/slice/iter.rs:LL:COL
---
To only update this specific test, also pass `--test-args traits/suggest-dereferences/invalid-suggest-deref-issue-127590.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/suggest-dereferences/invalid-suggest-deref-issue-127590.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/suggest-dereferences/invalid-suggest-deref-issue-127590" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0277]: `&std::slice::Iter<'_, {integer}>` is not an iterator
##[error]  --> /checkout/tests/ui/traits/suggest-dereferences/invalid-suggest-deref-issue-127590.rs:6:54
   |
LL |     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter()) {
   |                        --------------                ^^^^^^^^^^^^^^^ `&std::slice::Iter<'_, {integer}>` is not an iterator
   |                        |
   |                        required by a bound introduced by this call
   |
   = help: the trait `Iterator` is not implemented for `&std::slice::Iter<'_, {integer}>`
   = note: required for `&std::slice::Iter<'_, {integer}>` to implement `IntoIterator`
note: required by a bound in `std::iter::zip`
  --> /rustc/FAKE_PREFIX/library/core/src/iter/adapters/zip.rs:65:0
help: consider removing the leading `&`-reference
   |
LL -     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter()) {
LL +     for (src, dest) in std::iter::zip(fields.iter(), variant.iter()) {
   |

error[E0277]: `&std::slice::Iter<'_, {integer}>` is not an iterator
##[error]  --> /checkout/tests/ui/traits/suggest-dereferences/invalid-suggest-deref-issue-127590.rs:6:24
   |
LL |     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter()) {
   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&std::slice::Iter<'_, {integer}>` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `&std::slice::Iter<'_, {integer}>`
help: the trait `Iterator` is implemented for `std::slice::Iter<'_, T>`
  --> /rustc/FAKE_PREFIX/library/core/src/slice/iter/macros.rs:153:8
  --> /rustc/FAKE_PREFIX/library/core/src/slice/iter.rs:140:0
  ::: /rustc/FAKE_PREFIX/library/core/src/slice/iter.rs:148:2
   |
   = note: in this macro invocation
   = note: required for `Zip<std::slice::Iter<'_, {integer}>, &std::slice::Iter<'_, {integer}>>` to implement `Iterator`
   = note: required for `Zip<std::slice::Iter<'_, {integer}>, &std::slice::Iter<'_, {integer}>>` to implement `IntoIterator`
   = note: this error originates in the macro `iterator` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: `&std::slice::Iter<'_, {integer}>` is not an iterator
##[error]  --> /checkout/tests/ui/traits/suggest-dereferences/invalid-suggest-deref-issue-127590.rs:14:54
   |
LL |     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter().clone()) {
   |                        --------------                ^^^^^^^^^^^^^^^^^^^^^^^ `&std::slice::Iter<'_, {integer}>` is not an iterator
   |                        |
   |                        required by a bound introduced by this call
   |
   = help: the trait `Iterator` is not implemented for `&std::slice::Iter<'_, {integer}>`
   = note: required for `&std::slice::Iter<'_, {integer}>` to implement `IntoIterator`
note: required by a bound in `std::iter::zip`
  --> /rustc/FAKE_PREFIX/library/core/src/iter/adapters/zip.rs:65:0
help: consider removing the leading `&`-reference
   |
LL -     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter().clone()) {
LL +     for (src, dest) in std::iter::zip(fields.iter(), variant.iter().clone()) {
   |

error[E0277]: `&std::slice::Iter<'_, {integer}>` is not an iterator
##[error]  --> /checkout/tests/ui/traits/suggest-dereferences/invalid-suggest-deref-issue-127590.rs:14:24
   |
LL |     for (src, dest) in std::iter::zip(fields.iter(), &variant.iter().clone()) {
   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&std::slice::Iter<'_, {integer}>` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `&std::slice::Iter<'_, {integer}>`
help: the trait `Iterator` is implemented for `std::slice::Iter<'_, T>`
  --> /rustc/FAKE_PREFIX/library/core/src/slice/iter/macros.rs:153:8
  --> /rustc/FAKE_PREFIX/library/core/src/slice/iter.rs:140:0
  ::: /rustc/FAKE_PREFIX/library/core/src/slice/iter.rs:148:2
   |
   = note: in this macro invocation
   = note: required for `Zip<std::slice::Iter<'_, {integer}>, &std::slice::Iter<'_, {integer}>>` to implement `Iterator`
   = note: required for `Zip<std::slice::Iter<'_, {integer}>, &std::slice::Iter<'_, {integer}>>` to implement `IntoIterator`
   = note: this error originates in the macro `iterator` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0277`.
---
error: ui test did not emit an error
note: by default, ui tests are expected not to compile.
hint: use check-pass, build-pass, or run-pass directive to change this behavior.
status: exit status: 0
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/type-alias-impl-trait/coherence/coherence_different_hidden_ty.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/type-alias-impl-trait/coherence/coherence_different_hidden_ty" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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: none

---- [ui] tests/ui/type-alias-impl-trait/coherence/coherence_different_hidden_ty.rs stdout end ----
---- [ui] tests/ui/typeck/issue-116864.rs stdout ----

error: test compilation failed although it shouldn't!
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/typeck/issue-116864.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/typeck/issue-116864" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2021" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0277]: expected a `FnOnce(&'any i32)` closure, found `impl for<'any> FnMutFut<&'any BAZ::Param, ()>`
##[error]  --> /checkout/tests/ui/typeck/issue-116864.rs:23:1
   |
LL | / async fn foo<BAZ>(_: BAZ, mut cb: impl for<'any> FnMutFut<&'any BAZ::Param, ()>)
LL | | where
LL | |     BAZ: Baz<Param = i32>,
   | |__________________________^ expected an `FnOnce(&'any i32)` closure, found `impl for<'any> FnMutFut<&'any BAZ::Param, ()>`
   |
   = note: expected a closure with signature `for<'any> fn(&'any _)`
              found a closure with signature `fn(&_)`
note: required for `impl for<'any> FnMutFut<&'any BAZ::Param, ()>` to implement `for<'any> FnMutFut<&'any i32, ()>`
  --> /checkout/tests/ui/typeck/issue-116864.rs:15:20
   |
LL | impl<P, F, FUT, R> FnMutFut<P, R> for F
   |                    ^^^^^^^^^^^^^^     ^
LL | where
LL |     F: FnMut(P) -> FUT,
   |                    --- unsatisfied trait bound introduced here

error: the type `impl Future<Output = ()>` is not well-formed
##[error]  --> /checkout/tests/ui/typeck/issue-116864.rs:23:81
   |
LL | async fn foo<BAZ>(_: BAZ, mut cb: impl for<'any> FnMutFut<&'any BAZ::Param, ()>)
   |                                                                                 ^

error[E0277]: expected a `FnMut(&i32)` closure, found `impl for<'any> FnMutFut<&'any BAZ::Param, ()>`
##[error]  --> /checkout/tests/ui/typeck/issue-116864.rs:27:5
   |
LL |     cb(&1i32).await;
   |     ^^^^^^^^^ expected an `FnMut(&i32)` closure, found `impl for<'any> FnMutFut<&'any BAZ::Param, ()>`

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/typeck/issue-116864.rs:27:5
   |
LL |     cb(&1i32).await;
   |     ^^^^^^^^^ ----- arguments to this function are incorrect
   |     |
   |     types differ
   |
   = note:         expected type `_`
           found associated type `<impl for<'any> FnMutFut<&'any BAZ::Param, ()> as FnOnce<(&i32,)>>::Output`
   = help: consider constraining the associated type `<impl for<'any> FnMutFut<&'any BAZ::Param, ()> as FnOnce<(&i32,)>>::Output` to `_`
   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
note: method defined here
  --> /rustc/FAKE_PREFIX/library/core/src/future/into_future.rs:134:7

error: the type `{async fn body of foo<BAZ, impl for<'any> FnMutFut<&'any BAZ::Param, ()>>()}` is not well-formed
##[error]  --> /checkout/tests/ui/typeck/issue-116864.rs:23:81
   |
LL | async fn foo<BAZ>(_: BAZ, mut cb: impl for<'any> FnMutFut<&'any BAZ::Param, ()>)
   |                                                                                 ^

error[E0277]: expected a `FnOnce(&'any i32)` closure, found `impl for<'any> FnMutFut<&'any BAZ::Param, ()>`
##[error]  --> /checkout/tests/ui/typeck/issue-116864.rs:26:1
   |
LL | / {
LL | |     cb(&1i32).await;
LL | | }
   | |_^ expected an `FnOnce(&'any i32)` closure, found `impl for<'any> FnMutFut<&'any BAZ::Param, ()>`
   |
   = note: expected a closure with signature `for<'any> fn(&'any _)`
              found a closure with signature `fn(&_)`
note: required for `impl for<'any> FnMutFut<&'any BAZ::Param, ()>` to implement `for<'any> FnMutFut<&'any i32, ()>`
  --> /checkout/tests/ui/typeck/issue-116864.rs:15:20
   |
LL | impl<P, F, FUT, R> FnMutFut<P, R> for F
   |                    ^^^^^^^^^^^^^^     ^
LL | where
LL |     F: FnMut(P) -> FUT,
   |                    --- unsatisfied trait bound introduced here

---
---- [ui] tests/ui/ufcs/ufcs-qpath-self-mismatch.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/ufcs/ufcs-qpath-self-mismatch/ufcs-qpath-self-mismatch.stderr`
diff of stderr:

69 LL +     <i32 as Add<i32>>::add(1, 2i32);
70    |
71 
- error[E0277]: cannot add `u32` to `i32`
-   --> $DIR/ufcs-qpath-self-mismatch.rs:4:5
-    |
- LL |     <i32 as Add<u32>>::add(1, 2);
-    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `i32 + u32`
-    |
-    = help: the trait `Add<u32>` is not implemented for `i32`
- help: the following other types implement trait `Add<Rhs>`
-   --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
-    |
-    = note: `i32` implements `Add`
-   ::: $SRC_DIR/core/src/ops/arith.rs:LL:COL
-    |
-    = note: in this macro invocation
-   --> $SRC_DIR/core/src/internal_macros.rs:LL:COL
-    |
-    = note: `&i32` implements `Add<i32>`
-   ::: $SRC_DIR/core/src/internal_macros.rs:LL:COL
-    |
-    = note: `i32` implements `Add<&i32>`
-   ::: $SRC_DIR/core/src/internal_macros.rs:LL:COL
-    |
-    = note: `&i32` implements `Add`
-    = note: this error originates in the macro `add_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
- 
- error: aborting due to 4 previous errors
---
To only update this specific test, also pass `--test-args ufcs/ufcs-qpath-self-mismatch.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/ufcs/ufcs-qpath-self-mismatch.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/ufcs/ufcs-qpath-self-mismatch" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_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[E0277]: cannot add `u32` to `i32`
##[error]  --> /checkout/tests/ui/ufcs/ufcs-qpath-self-mismatch.rs:4:6
   |
LL |     <i32 as Add<u32>>::add(1, 2);
   |      ^^^ no implementation for `i32 + u32`
   |
   = help: the trait `Add<u32>` is not implemented for `i32`
help: the following other types implement trait `Add<Rhs>`
  --> /rustc/FAKE_PREFIX/library/core/src/ops/arith.rs:98:8
   |
   = note: `i32` implements `Add`
  ::: /rustc/FAKE_PREFIX/library/core/src/ops/arith.rs:113:0
   |
   = note: in this macro invocation
  --> /rustc/FAKE_PREFIX/library/core/src/internal_macros.rs:22:8
   |
   = note: `&i32` implements `Add<i32>`
  ::: /rustc/FAKE_PREFIX/library/core/src/internal_macros.rs:33:8
   |
   = note: `i32` implements `Add<&i32>`
  ::: /rustc/FAKE_PREFIX/library/core/src/internal_macros.rs:44:8
   |
   = note: `&i32` implements `Add`
   = note: this error originates in the macro `add_impl` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/ufcs/ufcs-qpath-self-mismatch.rs:7:28
   |
LL |     <i32 as Add<i32>>::add(1u32, 2);
   |     ---------------------- ^^^^ expected `i32`, found `u32`
   |     |
   |     arguments to this function are incorrect
   |
help: the return type of this call is `u32` due to the type of the argument passed
  --> /checkout/tests/ui/ufcs/ufcs-qpath-self-mismatch.rs:7:5
   |
LL |     <i32 as Add<i32>>::add(1u32, 2);
   |     ^^^^^^^^^^^^^^^^^^^^^^^----^^^^
   |                            |
   |                            this argument influences the return type of `add`
note: method defined here
  --> /rustc/FAKE_PREFIX/library/core/src/ops/arith.rs:91:7
help: change the type of the numeric literal from `u32` to `i32`
   |
LL -     <i32 as Add<i32>>::add(1u32, 2);
LL +     <i32 as Add<i32>>::add(1i32, 2);
   |

error[E0308]: mismatched types
##[error]  --> /checkout/tests/ui/ufcs/ufcs-qpath-self-mismatch.rs:9:31
   |
LL |     <i32 as Add<i32>>::add(1, 2u32);
   |     ----------------------    ^^^^ expected `i32`, found `u32`
   |     |
   |     arguments to this function are incorrect
   |
help: the return type of this call is `u32` due to the type of the argument passed
  --> /checkout/tests/ui/ufcs/ufcs-qpath-self-mismatch.rs:9:5
   |
LL |     <i32 as Add<i32>>::add(1, 2u32);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^----^
   |                               |
   |                               this argument influences the return type of `add`
note: method defined here
  --> /rustc/FAKE_PREFIX/library/core/src/ops/arith.rs:91:7
help: change the type of the numeric literal from `u32` to `i32`
   |
LL -     <i32 as Add<i32>>::add(1, 2u32);
LL +     <i32 as Add<i32>>::add(1, 2i32);
   |

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0277, E0308.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. perf-regression Performance regression. PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. S-waiting-on-perf Status: Waiting on a perf run to be completed. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants