diff options
Diffstat (limited to 'tests/ui/error-codes/E0445.stderr')
-rw-r--r-- | tests/ui/error-codes/E0445.stderr | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/tests/ui/error-codes/E0445.stderr b/tests/ui/error-codes/E0445.stderr index 23b7a3350..4f940868f 100644 --- a/tests/ui/error-codes/E0445.stderr +++ b/tests/ui/error-codes/E0445.stderr @@ -1,5 +1,5 @@ error[E0445]: private trait `Foo` in public interface - --> $DIR/E0445.rs:5:1 + --> $DIR/E0445.rs:13:1 | LL | trait Foo { | --------- `Foo` declared as private @@ -7,8 +7,25 @@ LL | trait Foo { 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:7:1 + --> $DIR/E0445.rs:16:1 | LL | trait Foo { | --------- `Foo` declared as private @@ -16,15 +33,39 @@ LL | trait Foo { LL | pub struct Bar2<T: Foo>(pub T); | ^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait -error[E0445]: private trait `Foo` in public interface +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 -error: aborting due to 3 previous errors +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`. |