2023-05-08 18:15:46 -05:00
|
|
|
// check-pass
|
|
|
|
|
|
|
|
pub mod upstream_a {
|
|
|
|
mod inner {
|
|
|
|
pub struct Foo {}
|
|
|
|
pub struct Bar {}
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Foo;
|
|
|
|
//~^ WARN private item shadows public glob re-export
|
2023-06-08 02:03:21 -05:00
|
|
|
|
|
|
|
pub use self::inner::*;
|
2023-05-08 18:15:46 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
pub mod upstream_b {
|
|
|
|
mod inner {
|
|
|
|
pub struct Foo {}
|
|
|
|
pub struct Qux {}
|
|
|
|
}
|
|
|
|
|
|
|
|
mod other {
|
|
|
|
pub struct Foo;
|
|
|
|
}
|
|
|
|
|
|
|
|
pub use self::inner::*;
|
|
|
|
|
|
|
|
use self::other::Foo;
|
|
|
|
//~^ WARN private item shadows public glob re-export
|
|
|
|
}
|
|
|
|
|
|
|
|
pub mod upstream_c {
|
|
|
|
mod no_def_id {
|
|
|
|
#![allow(non_camel_case_types)]
|
|
|
|
pub struct u8;
|
|
|
|
pub struct World;
|
|
|
|
}
|
|
|
|
|
|
|
|
pub use self::no_def_id::*;
|
|
|
|
|
|
|
|
use std::primitive::u8;
|
|
|
|
//~^ WARN private item shadows public glob re-export
|
|
|
|
}
|
|
|
|
|
|
|
|
// Downstream crate
|
|
|
|
// mod downstream {
|
|
|
|
// fn proof() {
|
|
|
|
// let _ = crate::upstream_a::Foo;
|
|
|
|
// let _ = crate::upstream_b::Foo;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
pub fn main() {}
|