mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 18:53:39 +00:00
72 lines
1.9 KiB
Plaintext
72 lines
1.9 KiB
Plaintext
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`.
|