| error[E0445]: private trait `Foo` in public interface |
| --> $DIR/E0445.rs:13:1 |
| | |
| LL | trait Foo { |
| | --------- `Foo` declared as private |
| ... |
| LL | pub trait Bar : Foo {} |
| | ^^^^^^^^^^^^^^^^^^^ can't leak private trait |
| |
| warning: trait `Foo` is more private than the item `Bar` |
| --> $DIR/E0445.rs:13:1 |
| | |
| LL | pub trait Bar : Foo {} |
| | ^^^^^^^^^^^^^^^^^^^ trait `Bar` is reachable at visibility `pub` |
| | |
| note: but trait `Foo` is only usable at visibility `pub(crate)` |
| --> $DIR/E0445.rs:9:1 |
| | |
| LL | trait Foo { |
| | ^^^^^^^^^ |
| note: the lint level is defined here |
| --> $DIR/E0445.rs:2:8 |
| | |
| LL | #[warn(private_bounds)] |
| | ^^^^^^^^^^^^^^ |
| |
| error[E0445]: private trait `Foo` in public interface |
| --> $DIR/E0445.rs:16:1 |
| | |
| LL | trait Foo { |
| | --------- `Foo` declared as private |
| ... |
| LL | pub struct Bar2<T: Foo>(pub T); |
| | ^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait |
| |
| warning: trait `Foo` is more private than the item `Bar2` |
| --> $DIR/E0445.rs:16:1 |
| | |
| LL | pub struct Bar2<T: Foo>(pub T); |
| | ^^^^^^^^^^^^^^^^^^^^^^^ struct `Bar2` is reachable at visibility `pub` |
| | |
| note: but trait `Foo` is only usable at visibility `pub(crate)` |
| --> $DIR/E0445.rs:9:1 |
| | |
| LL | trait Foo { |
| | ^^^^^^^^^ |
| |
| error[E0445]: private trait `Foo` in public interface |
| --> $DIR/E0445.rs:19:1 |
| | |
| LL | trait Foo { |
| | --------- `Foo` declared as private |
| ... |
| LL | pub fn foo<T: Foo> (t: T) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait |
| |
| warning: trait `Foo` is more private than the item `foo` |
| --> $DIR/E0445.rs:19:1 |
| | |
| LL | pub fn foo<T: Foo> (t: T) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ function `foo` is reachable at visibility `pub` |
| | |
| note: but trait `Foo` is only usable at visibility `pub(crate)` |
| --> $DIR/E0445.rs:9:1 |
| | |
| LL | trait Foo { |
| | ^^^^^^^^^ |
| |
| error: aborting due to 3 previous errors; 3 warnings emitted |
| |
| For more information about this error, try `rustc --explain E0445`. |