1 #![feature(auto_traits)]
2 #![feature(negative_impls)]
3 
4 pub trait PubPrincipal {}
5 auto trait PrivNonPrincipal {}
6 
leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal>7 pub fn leak_dyn_nonprincipal() -> Box<dyn PubPrincipal + PrivNonPrincipal> { loop {} }
8 //~^ WARN private trait `PrivNonPrincipal` in public interface
9 //~| WARN this was previously accepted
10 
11 #[deny(missing_docs)]
container()12 fn container() {
13     impl dyn PubPrincipal {
14         pub fn check_doc_lint() {} //~ ERROR missing documentation for an associated function
15     }
16     impl dyn PubPrincipal + PrivNonPrincipal {
17         pub fn check_doc_lint() {} // OK, no missing doc lint
18     }
19 }
20 
main()21 fn main() {}
22