1 #![feature(auto_traits)] 2 #![feature(negative_impls)] 3 4 #[allow(private_in_public)] 5 mod m { 6 pub trait PubPrincipal {} 7 auto trait PrivNonPrincipal {} leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal>8 pub fn leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal> { loop {} } 9 } 10 main()11fn main() { 12 m::leak_dyn_nonprincipal(); 13 //~^ ERROR trait `PrivNonPrincipal` is private 14 } 15