diff options
Diffstat (limited to 'src/test/ui/issues/issue-74236')
-rw-r--r-- | src/test/ui/issues/issue-74236/auxiliary/dep.rs | 8 | ||||
-rw-r--r-- | src/test/ui/issues/issue-74236/main.rs | 9 | ||||
-rw-r--r-- | src/test/ui/issues/issue-74236/main.stderr | 11 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-74236/auxiliary/dep.rs b/src/test/ui/issues/issue-74236/auxiliary/dep.rs new file mode 100644 index 000000000..45f2601d3 --- /dev/null +++ b/src/test/ui/issues/issue-74236/auxiliary/dep.rs @@ -0,0 +1,8 @@ +// edition:2018 + +mod private { pub struct Pub; } + +// Reexport built-in attribute without a DefId (requires Rust 2018). +pub use cfg_attr as attr; +// This export needs to be after the built-in attribute to trigger the bug. +pub use private::Pub as Renamed; diff --git a/src/test/ui/issues/issue-74236/main.rs b/src/test/ui/issues/issue-74236/main.rs new file mode 100644 index 000000000..daa7cfcf9 --- /dev/null +++ b/src/test/ui/issues/issue-74236/main.rs @@ -0,0 +1,9 @@ +// edition:2018 +// aux-build:dep.rs +// compile-flags:--extern dep + +fn main() { + // Trigger an error that will print the path of dep::private::Pub (as "dep::Renamed"). + let () = dep::Renamed; + //~^ ERROR mismatched types +} diff --git a/src/test/ui/issues/issue-74236/main.stderr b/src/test/ui/issues/issue-74236/main.stderr new file mode 100644 index 000000000..55e94ae72 --- /dev/null +++ b/src/test/ui/issues/issue-74236/main.stderr @@ -0,0 +1,11 @@ +error[E0308]: mismatched types + --> $DIR/main.rs:7:9 + | +LL | let () = dep::Renamed; + | ^^ ------------ this expression has type `Renamed` + | | + | expected struct `Renamed`, found `()` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. |