| #![feature(auto_traits)] | |
| #![feature(negative_impls)] | |
| #[allow(private_interfaces)] | |
| mod m { | |
| pub trait PubPrincipal {} | |
| auto trait PrivNonPrincipal {} | |
| pub fn leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal> { loop {} } | |
| } | |
| fn main() { | |
| m::leak_dyn_nonprincipal(); | |
| //~^ ERROR trait `PrivNonPrincipal` is private | |
| } |