#![feature(type_privacy_lints)] #![warn(private_bounds)] // 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. use std::any::Any; use std::any::TypeId; trait Private { fn call(&self, p: P, r: R); } pub trait Public: Private< //~^ ERROR private trait `Private<::P, ::R>` in public interface //~| WARNING trait `Private<::P, ::R>` is more private than the item `Public` ::P, ::R > { type P; type R; fn call_inner(&self); } fn main() {}