--- /dev/null
+// 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;
--- /dev/null
+// 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
+}
--- /dev/null
+error[E0308]: mismatched types
+ --> $DIR/main.rs:7:9
+ |
+LL | let () = dep::Renamed;
+ | ^^ ------------ this expression has type `dep::Renamed`
+ | |
+ | expected struct `dep::Renamed`, found `()`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.