warning: private type `m1::Priv` in public interface (error E0446) --> $DIR/issue-30079.rs:16:9 | LL | pub fn f(_: Priv) {} //~ WARN private type `m1::Priv` in public interface | ^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(private_in_public)] on by default = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #34537 error[E0446]: private type `m2::Priv` in public interface --> $DIR/issue-30079.rs:28:9 | LL | struct Priv; | - `m2::Priv` declared as private LL | impl ::std::ops::Deref for ::SemiPriv { LL | type Target = Priv; //~ ERROR private type `m2::Priv` in public interface | ^^^^^^^^^^^^^^^^^^^ can't leak private type error[E0446]: private type `m3::Priv` in public interface --> $DIR/issue-30079.rs:45:9 | LL | struct Priv; | - `m3::Priv` declared as private LL | impl ::SemiPrivTrait for () { LL | type Assoc = Priv; //~ ERROR private type `m3::Priv` in public interface | ^^^^^^^^^^^^^^^^^^ can't leak private type error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0446`.