1 /// Only named projected types can be imported. 2 /// See visibility.rs for named projected types. 3 4 mod pub_ { 5 use pin_project::pin_project; 6 7 #[pin_project] 8 pub struct Default(()); 9 10 #[pin_project(project_replace)] 11 pub struct Replace(()); 12 } 13 #[allow(unused_imports)] 14 pub mod use_ { 15 #[rustfmt::skip] 16 use crate::pub_::__DefaultProjection; //~ ERROR E0432 17 #[rustfmt::skip] 18 use crate::pub_::__DefaultProjectionRef; //~ ERROR E0432 19 #[rustfmt::skip] 20 use crate::pub_::__ReplaceProjection; //~ ERROR E0432 21 #[rustfmt::skip] 22 use crate::pub_::__ReplaceProjectionOwned; //~ ERROR E0432 23 #[rustfmt::skip] 24 use crate::pub_::__ReplaceProjectionRef; //~ ERROR E0432 25 26 // Confirm that the visibility of the original type is not changed. 27 pub use crate::pub_::{Default, Replace}; 28 } 29 main()30fn main() {} 31