#[warn(private_bounds)] #[warn(private_interfaces)] // In this test both old and new private-in-public diagnostic were emitted. // Old diagnostic will be deleted soon. // See https://rust-lang.github.io/rfcs/2145-type-privacy.html. trait Foo { fn dummy(&self) { } } pub trait Bar : Foo {} //~^ ERROR private trait `Foo` in public interface [E0445] pub struct Bar2(pub T); //~^ ERROR private trait `Foo` in public interface [E0445] pub fn foo (t: T) {} //~^ ERROR private trait `Foo` in public interface [E0445] fn main() {}