Skip to content

Conversation

@izagawd
Copy link

@izagawd izagawd commented Jan 17, 2026

Tracking issue: #146922

I can't seem to get it to work correctly with dyn for<'a> Foo<'a>, though it works fine for normal dyn Foo trait objects

r? @oli-obk

@rustbot
Copy link
Collaborator

rustbot commented Jan 17, 2026

The reflection data structures are tied exactly to the implementation
in the compiler. Make sure to also adjust rustc_const_eval/src/const_eval/type_info.rs

cc @oli-obk

Some changes occurred to the CTFE machinery

cc @RalfJung, @oli-obk, @lcnr

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 17, 2026
@rustbot rustbot added the T-libs Relevant to the library team, which will review and decide on the PR/issue. label Jan 17, 2026
@rustbot
Copy link
Collaborator

rustbot commented Jan 17, 2026

oli-obk is not on the review rotation at the moment.
They may take a while to respond.

@izagawd izagawd marked this pull request as draft January 17, 2026 09:30
@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 17, 2026
@SpriteOvO SpriteOvO added the F-type_info #![feature(type_info)] label Jan 17, 2026
@izagawd
Copy link
Author

izagawd commented Jan 17, 2026

I don't mind if anyone forks the branch to implement the for<'a> part, or even make a separate PR for a better implementation

Comment on lines 219 to 233
Type {
kind: DynTrait(
DynTrait {
super_traits: [
TypeId(0xf726af39bcd0090512f636802780d009),
TypeId(0xd3eba1307d3a0b58acd77b80e4532fbf),
],
is_auto: false,
auto_traits: [
TypeId(0x0d5e48167084e668b711d10061f0446a),
],
},
),
size: None,
}
Copy link
Member

@SpriteOvO SpriteOvO Jan 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trait A {}
trait B: A {}
trait C: B {}

The quoted dump is the type info for dyn C + Send. How do we determine whether it has trait C?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I don't think I fully understand the question. Could you elaborate?

Copy link
Member

@SpriteOvO SpriteOvO Jan 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For clear, I replaced the type ID number with type name in the following examples.

First, TypeId(dyn C) != TypeId(dyn C + Send), then the type info of dyn C + Send is

Type {
    kind: DynTrait(
        DynTrait {
            super_traits: [
                TypeId(B),
                TypeId(A),
            ],
            is_auto: false,
            auto_traits: [
                TypeId(Send),
            ],
        },
    ),
    size: None,
}

For the current PR implementation, if given a dyn C + Send (or type ID of it), we can know there are A, B and Send but no way of knowing C.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not include C in it since C is not a super trait of itself. I am assuming you want a field that represents the TypeId of the trait object itself?

Copy link
Member

@SpriteOvO SpriteOvO Jan 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not exactly, dyn C and dyn C + Send are two different things, so it's not "the trait object itself".

Intuitively, I think DynTrait's layout should probably look something like this. Take dyn C + Send as an example again.

Type {
    kind: DynTrait(
        DynTrait {
            predicates: [ Predicate(Trait(C)), Predicate(Trait(Send)) ]
        },
    ),
    size: None,
}

Predicate {
    trait,
    negative: bool, // Not sure if possible, #144241
}

Trait(C) = Trait {
    supers: [ Trait(B), Trait(A) ],
    is_auto: false,
}

Trait(Send) = Trait {
    supers: [],
    is_auto: true,
}

Trait(B) = ...
Trait(A) = ...

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes a lot of sense! I will go with this

@izagawd
Copy link
Author

izagawd commented Jan 18, 2026

An ICE occurs when trying to get the type_info of a dyn trait, in which one of it's supertrait has for<'a> (eg
dyn for<'a> Foo<'a>) in it. I tried to fix it but instead it gave incorrect supertrait TypeIds. if anyone could find the solution to that, I don't mind them branching off this PR

@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
test [ui] tests/ui/imports/ambiguous-2.rs ... ok
test [ui] tests/ui/imports/ambiguous-4.rs ... ok
test [ui] tests/ui/imports/ambiguous-7.rs ... ok
test [ui] tests/ui/imports/ambiguous-9.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-glob-vs-multiouter.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-globvsglob.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-no-implicit-prelude.rs ... ok
test [ui] tests/ui/imports/ambiguous-8.rs ... ok
test [ui] tests/ui/imports/ambiguous-glob-vs-expanded-extern.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-non-prelude-core-glob.rs ... ok
test [ui] tests/ui/imports/ambiguous-panic-non-prelude-std-glob.rs ... ok
---

failures:

---- [ui] tests/ui/errors/remap-path-prefix-diagnostics.rs#not-diag-in-deps stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.not-diag-in-deps/remap-path-prefix-diagnostics.not-diag-in-deps.stderr`
diff of stderr:

9    |
10 LL | struct A;
11    | ^^^^^^^^
- note: required by a bound in `Trait`
+ note: required by a bound in `r#trait::Trait`
13   --> $DIR/auxiliary/trait.rs:LL:COL
14    |
15 LL | pub trait Trait: std::fmt::Display {}


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 errors/remap-path-prefix-diagnostics.rs`

error in revision `not-diag-in-deps`: 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/errors/remap-path-prefix-diagnostics.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" "not_diag_in_deps" "--check-cfg" "cfg(test,FALSE,with_diag_in_deps,with_macro_in_deps,with_debuginfo_in_deps,only_diag_in_deps,only_macro_in_deps,only_debuginfo_in_deps,not_diag_in_deps)" "--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/errors/remap-path-prefix-diagnostics.not-diag-in-deps" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.not-diag-in-deps/auxiliary" "--remap-path-prefix=/checkout/tests/ui=remapped" "-Zremap-path-scope=diagnostics"
stdout: none
--- stderr -------------------------------
error[E0277]: `A` doesn't implement `std::fmt::Display`
##[error]  --> remapped/errors/remap-path-prefix-diagnostics.rs:47:25
   |
LL | impl r#trait::Trait for A {}
   |                         ^ unsatisfied trait bound
   |
help: the trait `std::fmt::Display` is not implemented for `A`
  --> remapped/errors/remap-path-prefix-diagnostics.rs:45:1
   |
LL | struct A;
   | ^^^^^^^^
note: required by a bound in `r#trait::Trait`
  --> /checkout/tests/ui/errors/auxiliary/trait.rs:1:18
   |
LL | pub trait Trait: std::fmt::Display {}
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `Trait`

---
9    |
10 LL | struct A;
11    | ^^^^^^^^
- note: required by a bound in `Trait`
+ note: required by a bound in `r#trait::Trait`
13   --> $DIR/auxiliary/trait-debuginfo.rs:LL:COL
14    |
15 LL | pub trait Trait: std::fmt::Display {}


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 errors/remap-path-prefix-diagnostics.rs`

error in revision `only-debuginfo-in-deps`: 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/errors/remap-path-prefix-diagnostics.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" "only_debuginfo_in_deps" "--check-cfg" "cfg(test,FALSE,with_diag_in_deps,with_macro_in_deps,with_debuginfo_in_deps,only_diag_in_deps,only_macro_in_deps,only_debuginfo_in_deps,not_diag_in_deps)" "--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/errors/remap-path-prefix-diagnostics.only-debuginfo-in-deps" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.only-debuginfo-in-deps/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0277]: `A` doesn't implement `std::fmt::Display`
##[error]  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:47:25
   |
LL | impl r#trait::Trait for A {}
   |                         ^ unsatisfied trait bound
   |
help: the trait `std::fmt::Display` is not implemented for `A`
  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:45:1
   |
LL | struct A;
   | ^^^^^^^^
note: required by a bound in `r#trait::Trait`
  --> /checkout/tests/ui/errors/auxiliary/trait-debuginfo.rs:4:18
   |
LL | pub trait Trait: std::fmt::Display {}
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `Trait`

---
9    |
10 LL | struct A;
11    | ^^^^^^^^
- note: required by a bound in `Trait`
+ note: required by a bound in `r#trait::Trait`
13   --> remapped/errors/auxiliary/trait-diag.rs:LL:COL
14    |
15 LL | pub trait Trait: std::fmt::Display {}


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 errors/remap-path-prefix-diagnostics.rs`

error in revision `only-diag-in-deps`: 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/errors/remap-path-prefix-diagnostics.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" "only_diag_in_deps" "--check-cfg" "cfg(test,FALSE,with_diag_in_deps,with_macro_in_deps,with_debuginfo_in_deps,only_diag_in_deps,only_macro_in_deps,only_debuginfo_in_deps,not_diag_in_deps)" "--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/errors/remap-path-prefix-diagnostics.only-diag-in-deps" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.only-diag-in-deps/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0277]: `A` doesn't implement `std::fmt::Display`
##[error]  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:47:25
   |
LL | impl r#trait::Trait for A {}
   |                         ^ unsatisfied trait bound
   |
help: the trait `std::fmt::Display` is not implemented for `A`
  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:45:1
   |
LL | struct A;
   | ^^^^^^^^
note: required by a bound in `r#trait::Trait`
  --> remapped/errors/auxiliary/trait-diag.rs:4:18
   |
LL | pub trait Trait: std::fmt::Display {}
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `Trait`

---
9    |
10 LL | struct A;
11    | ^^^^^^^^
- note: required by a bound in `Trait`
+ note: required by a bound in `r#trait::Trait`
13   --> $DIR/auxiliary/trait-macro.rs:LL:COL
14    |
15 LL | pub trait Trait: std::fmt::Display {}


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 errors/remap-path-prefix-diagnostics.rs`

error in revision `only-macro-in-deps`: 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/errors/remap-path-prefix-diagnostics.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" "only_macro_in_deps" "--check-cfg" "cfg(test,FALSE,with_diag_in_deps,with_macro_in_deps,with_debuginfo_in_deps,only_diag_in_deps,only_macro_in_deps,only_debuginfo_in_deps,not_diag_in_deps)" "--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/errors/remap-path-prefix-diagnostics.only-macro-in-deps" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.only-macro-in-deps/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0277]: `A` doesn't implement `std::fmt::Display`
##[error]  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:47:25
   |
LL | impl r#trait::Trait for A {}
   |                         ^ unsatisfied trait bound
   |
help: the trait `std::fmt::Display` is not implemented for `A`
  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:45:1
   |
LL | struct A;
   | ^^^^^^^^
note: required by a bound in `r#trait::Trait`
  --> /checkout/tests/ui/errors/auxiliary/trait-macro.rs:4:18
   |
LL | pub trait Trait: std::fmt::Display {}
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `Trait`

error: aborting due to 1 previous error

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

---- [ui] tests/ui/errors/remap-path-prefix-diagnostics.rs#only-macro-in-deps stdout end ----
---- [ui] tests/ui/errors/remap-path-prefix-diagnostics.rs#with-debuginfo-in-deps stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.with-debuginfo-in-deps/remap-path-prefix-diagnostics.with-debuginfo-in-deps.stderr`
diff of stderr:

9    |
10 LL | struct A;
11    | ^^^^^^^^
- note: required by a bound in `Trait`
+ note: required by a bound in `r#trait::Trait`
13   --> $DIR/auxiliary/trait-debuginfo.rs:LL:COL
14    |
15 LL | pub trait Trait: std::fmt::Display {}


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 errors/remap-path-prefix-diagnostics.rs`

error in revision `with-debuginfo-in-deps`: 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/errors/remap-path-prefix-diagnostics.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" "with_debuginfo_in_deps" "--check-cfg" "cfg(test,FALSE,with_diag_in_deps,with_macro_in_deps,with_debuginfo_in_deps,only_diag_in_deps,only_macro_in_deps,only_debuginfo_in_deps,not_diag_in_deps)" "--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/errors/remap-path-prefix-diagnostics.with-debuginfo-in-deps" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.with-debuginfo-in-deps/auxiliary" "--remap-path-prefix=/checkout/tests/ui=remapped" "-Zremap-path-scope=debuginfo"
stdout: none
--- stderr -------------------------------
error[E0277]: `A` doesn't implement `std::fmt::Display`
##[error]  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:47:25
   |
LL | impl r#trait::Trait for A {}
   |                         ^ unsatisfied trait bound
   |
help: the trait `std::fmt::Display` is not implemented for `A`
  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:45:1
   |
LL | struct A;
   | ^^^^^^^^
note: required by a bound in `r#trait::Trait`
  --> /checkout/tests/ui/errors/auxiliary/trait-debuginfo.rs:4:18
   |
LL | pub trait Trait: std::fmt::Display {}
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `Trait`

error: aborting due to 1 previous error

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

---- [ui] tests/ui/errors/remap-path-prefix-diagnostics.rs#with-debuginfo-in-deps stdout end ----
---- [ui] tests/ui/errors/remap-path-prefix-diagnostics.rs#with-diag-in-deps stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.with-diag-in-deps/remap-path-prefix-diagnostics.with-diag-in-deps.stderr`
diff of stderr:

9    |
10 LL | struct A;
11    | ^^^^^^^^
- note: required by a bound in `Trait`
+ note: required by a bound in `r#trait::Trait`
13   --> remapped/errors/auxiliary/trait-diag.rs:LL:COL
14    |
15 LL | pub trait Trait: std::fmt::Display {}


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 errors/remap-path-prefix-diagnostics.rs`

error in revision `with-diag-in-deps`: 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/errors/remap-path-prefix-diagnostics.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" "with_diag_in_deps" "--check-cfg" "cfg(test,FALSE,with_diag_in_deps,with_macro_in_deps,with_debuginfo_in_deps,only_diag_in_deps,only_macro_in_deps,only_debuginfo_in_deps,not_diag_in_deps)" "--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/errors/remap-path-prefix-diagnostics.with-diag-in-deps" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.with-diag-in-deps/auxiliary" "--remap-path-prefix=/checkout/tests/ui=remapped" "-Zremap-path-scope=diagnostics"
stdout: none
--- stderr -------------------------------
error[E0277]: `A` doesn't implement `std::fmt::Display`
##[error]  --> remapped/errors/remap-path-prefix-diagnostics.rs:47:25
   |
LL | impl r#trait::Trait for A {}
   |                         ^ unsatisfied trait bound
   |
help: the trait `std::fmt::Display` is not implemented for `A`
  --> remapped/errors/remap-path-prefix-diagnostics.rs:45:1
   |
LL | struct A;
   | ^^^^^^^^
note: required by a bound in `r#trait::Trait`
  --> remapped/errors/auxiliary/trait-diag.rs:4:18
   |
LL | pub trait Trait: std::fmt::Display {}
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `Trait`

error: aborting due to 1 previous error

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

---- [ui] tests/ui/errors/remap-path-prefix-diagnostics.rs#with-diag-in-deps stdout end ----
---- [ui] tests/ui/errors/remap-path-prefix-diagnostics.rs#with-macro-in-deps stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.with-macro-in-deps/remap-path-prefix-diagnostics.with-macro-in-deps.stderr`
diff of stderr:

9    |
10 LL | struct A;
11    | ^^^^^^^^
- note: required by a bound in `Trait`
+ note: required by a bound in `r#trait::Trait`
13   --> $DIR/auxiliary/trait-macro.rs:LL:COL
14    |
15 LL | pub trait Trait: std::fmt::Display {}


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 errors/remap-path-prefix-diagnostics.rs`

error in revision `with-macro-in-deps`: 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/errors/remap-path-prefix-diagnostics.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" "with_macro_in_deps" "--check-cfg" "cfg(test,FALSE,with_diag_in_deps,with_macro_in_deps,with_debuginfo_in_deps,only_diag_in_deps,only_macro_in_deps,only_debuginfo_in_deps,not_diag_in_deps)" "--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/errors/remap-path-prefix-diagnostics.with-macro-in-deps" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/errors/remap-path-prefix-diagnostics.with-macro-in-deps/auxiliary" "--remap-path-prefix=/checkout/tests/ui=remapped" "-Zremap-path-scope=macro"
stdout: none
--- stderr -------------------------------
error[E0277]: `A` doesn't implement `std::fmt::Display`
##[error]  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:47:25
   |
LL | impl r#trait::Trait for A {}
   |                         ^ unsatisfied trait bound
   |
help: the trait `std::fmt::Display` is not implemented for `A`
  --> /checkout/tests/ui/errors/remap-path-prefix-diagnostics.rs:45:1
   |
LL | struct A;
   | ^^^^^^^^
note: required by a bound in `r#trait::Trait`
  --> /checkout/tests/ui/errors/auxiliary/trait-macro.rs:4:18
   |
LL | pub trait Trait: std::fmt::Display {}
   |                  ^^^^^^^^^^^^^^^^^ required by this bound in `Trait`

---
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/privacy/private-inferred-type/private-inferred-type.stderr`
diff of stderr:

172    |
173    = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)
174 
- error: trait `Trait` is private
+ error: trait `m::Trait` is private
176   --> $DIR/private-inferred-type.rs:118:5
177    |
---
- error: trait `Trait` is private
+ error: trait `m::Trait` is private
194   --> $DIR/private-inferred-type.rs:122:5
195    |
196 LL |     m::leak_dyn1();


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 privacy/private-inferred-type.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/privacy/private-inferred-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" "--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/privacy/private-inferred-type" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0446]: private type `Priv` in public interface
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:61:36
   |
LL |     struct Priv;
   |     ----------- `Priv` declared as private
...
LL |     impl TraitWithAssocTy for u8 { type AssocTy = Priv; }
   |                                    ^^^^^^^^^^^^ can't leak private type

error[E0446]: private type `S2` in public interface
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:83:9
   |
LL |     struct S2;
   |     --------- `S2` declared as private
...
LL |         type Target = S2Alias; //~ ERROR private type `S2` in public interface
   |         ^^^^^^^^^^^ can't leak private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:97:9
   |
LL |     let _: m::Alias; //~ ERROR type `Priv` is private
   |         ^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:97:12
   |
LL |     let _: m::Alias; //~ ERROR type `Priv` is private
   |            ^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:99:13
   |
LL |     let _: <m::Alias as m::TraitWithAssocTy>::AssocTy; //~ ERROR type `Priv` is private
   |             ^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:100:5
   |
LL |     m::Alias {}; //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:101:5
   |
LL |     m::Pub { 0: m::Alias {} }; //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:103:5
   |
LL |     m::Pub::static_method; //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:104:5
   |
LL |     m::Pub::INHERENT_ASSOC_CONST; //~ ERROR type `Priv` is private
   |     ^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:105:5
   |
LL |     m::Pub(0u8).method_with_substs::<m::Alias>(); //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:106:17
   |
LL |     m::Pub(0u8).method_with_priv_params(loop{}); //~ ERROR type `Priv` is private
   |                 ^^^^^^^^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:107:5
   |
LL |     <m::Alias as m::TraitWithAssocConst>::TRAIT_ASSOC_CONST; //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:108:6
   |
LL |     <m::Pub<m::Alias>>::INHERENT_ASSOC_CONST; //~ ERROR type `Priv` is private
   |      ^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:109:5
   |
LL |     <m::Pub<m::Alias>>::INHERENT_ASSOC_CONST_GENERIC_SELF; //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:110:5
   |
LL |     <m::Pub<m::Alias>>::static_method_generic_self; //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:112:5
   |
LL |     u8::pub_method; //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^ private type

error: type `S2` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:114:5
   |
LL |     adjust::S1.method_s3(); //~ ERROR type `S2` is private
   |     ^^^^^^^^^^ private type

error: type `fn() {priv_fn}` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:39:9
   |
LL |         priv_fn; //~ ERROR type `fn() {priv_fn}` is private
   |         ^^^^^^^ private type
...
LL |     m::m!();
   |     ------- in this macro invocation
   |
   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)

error: type `PrivEnum` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:41:9
   |
LL |         PrivEnum::Variant; //~ ERROR type `PrivEnum` is private
   |         ^^^^^^^^^^^^^^^^^ private type
...
LL |     m::m!();
   |     ------- in this macro invocation
   |
   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)

error: type `fn() {<u8 as PrivTrait>::method}` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:43:9
   |
LL |         <u8 as PrivTrait>::method; //~ ERROR type `fn() {<u8 as PrivTrait>::method}` is private
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ private type
...
LL |     m::m!();
   |     ------- in this macro invocation
   |
   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)

error: type `fn(u8) -> PrivTupleStruct {PrivTupleStruct}` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:45:9
   |
LL |         PrivTupleStruct;
   |         ^^^^^^^^^^^^^^^ private type
...
LL |     m::m!();
   |     ------- in this macro invocation
   |
   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)

error: type `fn(u8) -> PubTupleStruct {PubTupleStruct}` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:47:9
   |
LL |         PubTupleStruct;
   |         ^^^^^^^^^^^^^^ private type
...
LL |     m::m!();
   |     ------- in this macro invocation
   |
   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)

error: type `for<'a> fn(&'a Pub<u8>) {Pub::<u8>::priv_method}` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:49:18
   |
LL |         Pub(0u8).priv_method();
   |                  ^^^^^^^^^^^ private type
...
LL |     m::m!();
   |     ------- in this macro invocation
   |
   = note: this error originates in the macro `m::m` (in Nightly builds, run with -Z macro-backtrace for more info)

error: trait `m::Trait` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:118:5
   |
LL |     m::leak_anon1(); //~ ERROR trait `Trait` is private
   |     ^^^^^^^^^^^^^^^ private trait

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:119:5
   |
LL |     m::leak_anon2(); //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:120:5
   |
LL |     m::leak_anon3(); //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^^ private type

error: trait `m::Trait` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:122:5
   |
LL |     m::leak_dyn1(); //~ ERROR trait `Trait` is private
   |     ^^^^^^^^^^^^^^ private trait

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:123:5
   |
LL |     m::leak_dyn2(); //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:124:5
   |
LL |     m::leak_dyn3(); //~ ERROR type `Priv` is private
   |     ^^^^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:127:13
   |
LL |     let a = m::Alias {}; //~ ERROR type `Priv` is private
   |             ^^^^^^^^^^^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:128:17
   |
LL |     let mut b = a; //~ ERROR type `Priv` is private
   |                 ^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:129:9
   |
LL |     b = a; //~ ERROR type `Priv` is private
   |         ^ private type

error: type `Priv` is private
##[error]  --> /checkout/tests/ui/privacy/private-inferred-type.rs:130:11
   |
LL |     match a { //~ ERROR type `Priv` is private
   |           ^ private type

error: aborting due to 33 previous errors

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

---- [ui] tests/ui/privacy/private-inferred-type.rs stdout end ----
---- [ui] tests/ui/reflection/dump.rs#bit64 stdout ----
Saved the actual run.stdout to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/reflection/dump.bit64/dump.bit64.run.stdout`
diff of run.stdout:

224         DynTrait {
225             predicates: [
226                 Trait {
-                     ty: TypeId(0x0d5e48167084e668b711d10061f0446a),
+                     ty: TypeId(0xa7802be3420b295b9efd94ed93b45265),
228                     super_traits: [],
229                     is_auto: true,
230                 },

276                     is_auto: false,
277                 },
278                 Trait {
-                     ty: TypeId(0x0d5e48167084e668b711d10061f0446a),
+                     ty: TypeId(0xa7802be3420b295b9efd94ed93b45265),
280                     super_traits: [],
281                     is_auto: true,
282                 },


The actual run.stdout differed from the expected run.stdout

error in revision `bit64`: 1 errors occurred comparing run output.
status: exit status: 0
command: cd "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/reflection/dump.bit64" && RUSTC="/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" RUST_TEST_THREADS="4" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/reflection/dump.bit64/a"
--- stdout -------------------------------
Type {
    kind: Tuple(
        Tuple {
            fields: [
                Field {
                    ty: TypeId(0x0596b48cc04376e64d5c788c2aa46bdb),
                    offset: 0,
                },
                Field {
                    ty: TypeId(0x0596b48cc04376e64d5c788c2aa46bdb),
                    offset: 1,
                },
                Field {
                    ty: TypeId(0x41223169ff28813ba79b7268a2a968d9),
                    offset: 2,
                },
            ],
        },
    ),
    size: Some(
        2,
    ),
}
Type {
    kind: Array(
        Array {
            element_ty: TypeId(0x0596b48cc04376e64d5c788c2aa46bdb),
            len: 2,
        },
    ),
    size: Some(
        2,
    ),
---
}
Type {
    kind: Reference(
        Reference {
            pointee: TypeId(0xda1b6da9bd297bb2900de9303aadea79),
            mutable: false,
        },
    ),
    size: Some(
        16,
    ),
}
Type {
    kind: Reference(
        Reference {
            pointee: TypeId(0x474ccf3b5db264ef53916706f7d7bb2c),
            mutable: false,
        },
    ),
    size: Some(
        16,
    ),
}
Type {
    kind: Reference(
        Reference {
            pointee: TypeId(0x641e3def269c37acc6dcb92bf8c5f196),
            mutable: false,
        },
    ),
    size: Some(
        16,
---
}
Type {
    kind: Reference(
        Reference {
            pointee: TypeId(0x0596b48cc04376e64d5c788c2aa46bdb),
            mutable: false,
        },
    ),
    size: Some(
        8,
    ),
}
Type {
    kind: Reference(
        Reference {
            pointee: TypeId(0x0596b48cc04376e64d5c788c2aa46bdb),
            mutable: true,
        },
    ),
    size: Some(
        8,
    ),
}
Type {
    kind: DynTrait(
        DynTrait {
            predicates: [
                Trait {
                    ty: TypeId(0xa7802be3420b295b9efd94ed93b45265),
                    super_traits: [],
                    is_auto: true,
                },
            ],
        },
---
    kind: DynTrait(
        DynTrait {
            predicates: [
                Trait {
                    ty: TypeId(0xc91d8fa4fe4e50f84d6f164a359a9ee8),
                    super_traits: [],
                    is_auto: false,
                },
            ],
        },
---
    kind: DynTrait(
        DynTrait {
            predicates: [
                Trait {
                    ty: TypeId(0x07965edacf69944332ad039b4273138a),
                    super_traits: [
                        TypeId(0xc91d8fa4fe4e50f84d6f164a359a9ee8),
                    ],
                    is_auto: false,
                },
            ],
        },
---
    kind: DynTrait(
        DynTrait {
            predicates: [
                Trait {
                    ty: TypeId(0x2d1d20398e5841e6e2896d6488ebbfa6),
                    super_traits: [
                        TypeId(0x07965edacf69944332ad039b4273138a),
                        TypeId(0xc91d8fa4fe4e50f84d6f164a359a9ee8),
                    ],
                    is_auto: false,
                },
                Trait {
                    ty: TypeId(0xa7802be3420b295b9efd94ed93b45265),
                    super_traits: [],
                    is_auto: true,
                },
            ],
        },
---
    kind: DynTrait(
        DynTrait {
            predicates: [
                Trait {
                    ty: TypeId(0x6f3bf9e467b5747884cc8d4a8ff9979a),
                    super_traits: [
                        TypeId(0xc91d8fa4fe4e50f84d6f164a359a9ee8),
                        TypeId(0x07965edacf69944332ad039b4273138a),
                        TypeId(0xfe654fa60d754856a7592b304219481d),
                        TypeId(0xb81aaf680d875a92b758140daa01b2eb),
                        TypeId(0x36c41596c18b47194128ab8252e98c96),
                    ],
                    is_auto: false,
                },
            ],
        },
---
    kind: DynTrait(
        DynTrait {
            predicates: [
                Trait {
                    ty: TypeId(0x425e4bc2fab2df5b901c3699eb206c15),
                    super_traits: [],
                    is_auto: false,
                },
            ],
        },
---
To only update this specific test, also pass `--test-args trait-bounds/suggest-maybe-sized-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/trait-bounds/suggest-maybe-sized-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/trait-bounds/suggest-maybe-sized-bound" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
##[error]  --> /checkout/tests/ui/trait-bounds/suggest-maybe-sized-bound.rs:8:12
   |
LL |         a: StructA<isize, [u8]>,
   |            ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
   |
   = help: the trait `Sized` is not implemented for `[u8]`
note: required by an implicit `Sized` bound in `StructA`
  --> /checkout/tests/ui/trait-bounds/suggest-maybe-sized-bound.rs:3:23
   |
LL |     struct StructA<A, B = A> {
   |                       ^^^^^ required by the implicit `Sized` requirement on this type parameter in `StructA`
help: consider relaxing the implicit `Sized` restriction
   |
LL |     struct StructA<A, B: ?Sized = A> {
   |                        ++++++++

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
##[error]  --> /checkout/tests/ui/trait-bounds/suggest-maybe-sized-bound.rs:17:21
   |
LL |         type P<X> = [u8];
   |                     ^^^^ doesn't have a size known at compile-time
   |
   = help: the trait `Sized` is not implemented for `[u8]`
note: required by a bound in `main::Trait::P`
  --> /checkout/tests/ui/trait-bounds/suggest-maybe-sized-bound.rs:13:9
   |
LL |         type P<X>;
   |         ^^^^^^^^^^ required by this bound in `Trait::P`
help: consider relaxing the implicit `Sized` restriction
   |
LL |         type P<X>: ?Sized;
   |                  ++++++++

error: aborting due to 2 previous errors

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

---- [ui] tests/ui/trait-bounds/suggest-maybe-sized-bound.rs stdout end ----
---- [ui] tests/ui/traits/bound/on-structs-and-enums-xc.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/bound/on-structs-and-enums-xc/on-structs-and-enums-xc.stderr`
diff of stderr:

- error[E0277]: the trait bound `usize: Trait` is not satisfied
+ error[E0277]: the trait bound `usize: on_structs_and_enums_xc::Trait` is not satisfied
2   --> $DIR/on-structs-and-enums-xc.rs:7:15
3    |
4 LL | fn explode(x: Foo<usize>) {}

-    |               ^^^^^^^^^^ the trait `Trait` is not implemented for `usize`
+    |               ^^^^^^^^^^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `usize`
6    |
7 note: required by a bound in `Foo`
8   --> $DIR/auxiliary/on_structs_and_enums_xc.rs:5:18

10 LL | pub struct Foo<T:Trait> {
11    |                  ^^^^^ required by this bound in `Foo`
12 
- error[E0277]: the trait bound `f32: Trait` is not satisfied
+ error[E0277]: the trait bound `f32: on_structs_and_enums_xc::Trait` is not satisfied
14   --> $DIR/on-structs-and-enums-xc.rs:10:14
15    |
16 LL | fn kaboom(y: Bar<f32>) {}

-    |              ^^^^^^^^ the trait `Trait` is not implemented for `f32`
+    |              ^^^^^^^^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `f32`
18    |
19 note: required by a bound in `Bar`
20   --> $DIR/auxiliary/on_structs_and_enums_xc.rs:9:16


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/bound/on-structs-and-enums-xc.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/bound/on-structs-and-enums-xc.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/bound/on-structs-and-enums-xc" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/bound/on-structs-and-enums-xc/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `usize: on_structs_and_enums_xc::Trait` is not satisfied
##[error]  --> /checkout/tests/ui/traits/bound/on-structs-and-enums-xc.rs:7:15
   |
LL | fn explode(x: Foo<usize>) {}
   |               ^^^^^^^^^^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `usize`
   |
note: required by a bound in `Foo`
  --> /checkout/tests/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs:5:18
   |
LL | pub struct Foo<T:Trait> {
   |                  ^^^^^ required by this bound in `Foo`

error[E0277]: the trait bound `f32: on_structs_and_enums_xc::Trait` is not satisfied
##[error]  --> /checkout/tests/ui/traits/bound/on-structs-and-enums-xc.rs:10:14
   |
LL | fn kaboom(y: Bar<f32>) {}
   |              ^^^^^^^^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `f32`
   |
note: required by a bound in `Bar`
  --> /checkout/tests/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs:9:16
   |
LL | pub enum Bar<T:Trait> {
   |                ^^^^^ required by this bound in `Bar`

error: aborting due to 2 previous errors

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

---- [ui] tests/ui/traits/bound/on-structs-and-enums-xc.rs stdout end ----
---- [ui] tests/ui/traits/bound/on-structs-and-enums-xc1.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/bound/on-structs-and-enums-xc1/on-structs-and-enums-xc1.stderr`
diff of stderr:

- error[E0277]: the trait bound `{integer}: Trait` is not satisfied
+ error[E0277]: the trait bound `{integer}: on_structs_and_enums_xc::Trait` is not satisfied
2   --> $DIR/on-structs-and-enums-xc1.rs:9:12
3    |
4 LL |         x: 3

-    |            ^ the trait `Trait` is not implemented for `{integer}`
+    |            ^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `{integer}`
6    |
7 note: required by a bound in `Foo`
8   --> $DIR/auxiliary/on_structs_and_enums_xc.rs:5:18

10 LL | pub struct Foo<T:Trait> {
11    |                  ^^^^^ required by this bound in `Foo`
12 
- error[E0277]: the trait bound `f64: Trait` is not satisfied
+ error[E0277]: the trait bound `f64: on_structs_and_enums_xc::Trait` is not satisfied
14   --> $DIR/on-structs-and-enums-xc1.rs:12:14
15    |
16 LL |     let bar: Bar<f64> = return;

-    |              ^^^^^^^^ the trait `Trait` is not implemented for `f64`
+    |              ^^^^^^^^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `f64`
18    |
19 note: required by a bound in `Bar`
20   --> $DIR/auxiliary/on_structs_and_enums_xc.rs:9:16


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/bound/on-structs-and-enums-xc1.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/bound/on-structs-and-enums-xc1.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/bound/on-structs-and-enums-xc1" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/bound/on-structs-and-enums-xc1/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `{integer}: on_structs_and_enums_xc::Trait` is not satisfied
##[error]  --> /checkout/tests/ui/traits/bound/on-structs-and-enums-xc1.rs:9:12
   |
LL |         x: 3
   |            ^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `{integer}`
   |
note: required by a bound in `Foo`
  --> /checkout/tests/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs:5:18
   |
LL | pub struct Foo<T:Trait> {
   |                  ^^^^^ required by this bound in `Foo`

error[E0277]: the trait bound `f64: on_structs_and_enums_xc::Trait` is not satisfied
##[error]  --> /checkout/tests/ui/traits/bound/on-structs-and-enums-xc1.rs:12:14
   |
LL |     let bar: Bar<f64> = return;
   |              ^^^^^^^^ the trait `on_structs_and_enums_xc::Trait` is not implemented for `f64`
   |
note: required by a bound in `Bar`
  --> /checkout/tests/ui/traits/bound/auxiliary/on_structs_and_enums_xc.rs:9:16
   |
LL | pub enum Bar<T:Trait> {
   |                ^^^^^ required by this bound in `Bar`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
---
To only update this specific test, also pass `--test-args traits/wrong-multiple-different-versions-of-a-crate.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/wrong-multiple-different-versions-of-a-crate.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/wrong-multiple-different-versions-of-a-crate" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/wrong-multiple-different-versions-of-a-crate/auxiliary" "--extern" "crate1=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/traits/wrong-multiple-different-versions-of-a-crate/auxiliary/libcrate1.so"
stdout: none
--- stderr -------------------------------
error[E0277]: the trait bound `MyStruct: crate1::Trait` is not satisfied
##[error]  --> /checkout/tests/ui/traits/wrong-multiple-different-versions-of-a-crate.rs:11:17
   |
LL |     crate1::foo(MyStruct); //~ ERROR the trait bound `MyStruct: Trait` is not satisfied
   |     ----------- ^^^^^^^^ unsatisfied trait bound
   |     |
   |     required by a bound introduced by this call
   |
help: the trait `crate1::Trait` is not implemented for `MyStruct`
  --> /checkout/tests/ui/traits/wrong-multiple-different-versions-of-a-crate.rs:8:1
   |
LL | struct MyStruct; //~ HELP  the trait `Trait` is not implemented for `MyStruct`
   | ^^^^^^^^^^^^^^^
note: required by a bound in `foo`
  --> /checkout/tests/ui/traits/auxiliary/crate1.rs:5:23
   |
LL | pub fn foo(_arg: impl Trait) {}
---
10    |         +++
11 

Note: some mismatched output was normalized before being compared
- LL |     use std::mem::type_info::Trait; //~ ERROR unresolved import `Trait`
+ help: consider importing one of these items instead
+ LL |     use std::mem::type_info::Trait;
+    |         +++++++++++++++++++++


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 unresolved/unresolved-candidates.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/unresolved/unresolved-candidates.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/unresolved/unresolved-candidates" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2015"
stdout: none
--- stderr -------------------------------
error[E0432]: unresolved import `Trait`
##[error]  --> /checkout/tests/ui/unresolved/unresolved-candidates.rs:7:9
   |
LL |     use Trait; //~ ERROR unresolved import `Trait`
   |         ^^^^^ no `Trait` in the root
   |
help: consider importing one of these items instead
   |
LL |     use std::mem::type_info::Trait; //~ ERROR unresolved import `Trait`
   |         +++++++++++++++++++++
LL |     use a::Trait; //~ ERROR unresolved import `Trait`
   |         +++

error[E0405]: cannot find trait `Trait` in this scope
##[error]  --> /checkout/tests/ui/unresolved/unresolved-candidates.rs:11:10
   |
LL |     impl Trait for () {} //~ ERROR cannot find trait `Trait` in this scope
   |          ^^^^^ not found in this scope
   |
help: consider importing this trait
   |
LL +     use a::Trait;
   |

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0405, E0432.
---
- error[E0119]: conflicting implementations of trait `Trait` for type `LocalTy`
+ error[E0119]: conflicting implementations of trait `aux::Trait` for type `LocalTy`
2   --> $DIR/unstable_impl_coherence.rs:14:1
3    |
4 LL | impl aux::Trait for LocalTy {}

5    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
6    |
7    = note: conflicting implementation in crate `unstable_impl_coherence_aux`:
-            - impl<T> Trait for T
---
To only update this specific test, also pass `--test-args unstable-feature-bound/unstable_impl_coherence.rs`

error in revision `disabled`: 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/unstable-feature-bound/unstable_impl_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" "disabled" "--check-cfg" "cfg(test,FALSE,enabled,disabled)" "--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/unstable-feature-bound/unstable_impl_coherence.disabled" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/unstable-feature-bound/unstable_impl_coherence.disabled/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `aux::Trait` for type `LocalTy`
##[error]  --> /checkout/tests/ui/unstable-feature-bound/unstable_impl_coherence.rs:14:1
   |
LL | impl aux::Trait for LocalTy {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: conflicting implementation in crate `unstable_impl_coherence_aux`:
           - impl<T> aux::Trait for T
             where feature(foo) is enabled;
---
- error[E0119]: conflicting implementations of trait `Trait` for type `LocalTy`
+ error[E0119]: conflicting implementations of trait `aux::Trait` for type `LocalTy`
2   --> $DIR/unstable_impl_coherence.rs:14:1
3    |
4 LL | impl aux::Trait for LocalTy {}

5    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
6    |
7    = note: conflicting implementation in crate `unstable_impl_coherence_aux`:
-            - impl<T> Trait for T
---
To only update this specific test, also pass `--test-args unstable-feature-bound/unstable_impl_coherence.rs`

error in revision `enabled`: 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/unstable-feature-bound/unstable_impl_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" "enabled" "--check-cfg" "cfg(test,FALSE,enabled,disabled)" "--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/unstable-feature-bound/unstable_impl_coherence.enabled" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/unstable-feature-bound/unstable_impl_coherence.enabled/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `aux::Trait` for type `LocalTy`
##[error]  --> /checkout/tests/ui/unstable-feature-bound/unstable_impl_coherence.rs:14:1
   |
LL | impl aux::Trait for LocalTy {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: conflicting implementation in crate `unstable_impl_coherence_aux`:
           - impl<T> aux::Trait for T
             where feature(foo) is enabled;
---

4 LL |     vec![].foo();
5    |            ^^^ cannot infer type for struct `Vec<_>`
6    |
-    = note: multiple `impl`s satisfying `Vec<_>: Trait` found in the `unstable_impl_method_selection_aux` crate:
-            - impl Trait for Vec<u32>;
-            - impl Trait for Vec<u64>
+    = note: multiple `impl`s satisfying `Vec<_>: aux::Trait` found in the `unstable_impl_method_selection_aux` crate:
+            - impl aux::Trait for Vec<u32>;
+            - impl aux::Trait for Vec<u64>
10              where feature(bar) is enabled;
11 
12 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 unstable-feature-bound/unstable_impl_method_selection.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/unstable-feature-bound/unstable_impl_method_selection.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/unstable-feature-bound/unstable_impl_method_selection" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/unstable-feature-bound/unstable_impl_method_selection/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0283]: type annotations needed
##[error]  --> /checkout/tests/ui/unstable-feature-bound/unstable_impl_method_selection.rs:11:12
   |
LL |     vec![].foo();
   |            ^^^ cannot infer type for struct `Vec<_>`
   |
   = note: multiple `impl`s satisfying `Vec<_>: aux::Trait` found in the `unstable_impl_method_selection_aux` crate:
           - impl aux::Trait for Vec<u32>;
           - impl aux::Trait for Vec<u64>
             where feature(bar) is enabled;

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0283`.
------------------------------------------
---
To only update this specific test, also pass `--test-args use/issue-18986.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/use/issue-18986.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/use/issue-18986" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/use/issue-18986/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0574]: expected struct, variant or union type, found trait `Trait`
##[error]  --> /checkout/tests/ui/use/issue-18986.rs:8:9
   |
LL |         Trait { x: 42 } => () //~ ERROR expected struct, variant or union type, found trait `Trait`
   |         ^^^^^ not a struct, variant or union type
   |
help: consider importing this struct instead
   |
LL + use std::mem::type_info::Trait;
   |

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

Labels

F-type_info #![feature(type_info)] 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. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants