2018-02-07 21:35:35 -06:00
|
|
|
error[E0445]: private trait `Foo` in public interface
|
2023-05-18 06:57:45 -05:00
|
|
|
--> $DIR/E0445.rs:12:1
|
2018-02-07 21:35:35 -06:00
|
|
|
|
|
2020-10-16 18:28:11 -05:00
|
|
|
LL | trait Foo {
|
|
|
|
| --------- `Foo` declared as private
|
|
|
|
...
|
2018-02-22 18:42:32 -06:00
|
|
|
LL | pub trait Bar : Foo {}
|
2022-02-13 09:27:59 -06:00
|
|
|
| ^^^^^^^^^^^^^^^^^^^ can't leak private trait
|
2018-02-07 21:35:35 -06:00
|
|
|
|
2023-05-18 06:57:45 -05:00
|
|
|
warning: trait `Foo` is more private than the item `Bar`
|
|
|
|
|
|
|
|
|
note: trait `Bar` is reachable at visibility `pub`
|
|
|
|
--> $DIR/E0445.rs:12:1
|
|
|
|
|
|
|
|
|
LL | pub trait Bar : Foo {}
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
note: but trait `Foo` is only usable at visibility `pub(crate)`
|
|
|
|
--> $DIR/E0445.rs:8:1
|
|
|
|
|
|
|
|
|
LL | trait Foo {
|
|
|
|
| ^^^^^^^^^
|
|
|
|
note: the lint level is defined here
|
|
|
|
--> $DIR/E0445.rs:1:8
|
|
|
|
|
|
|
|
|
LL | #[warn(private_bounds)]
|
|
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
2018-02-07 21:35:35 -06:00
|
|
|
error[E0445]: private trait `Foo` in public interface
|
2023-05-18 06:57:45 -05:00
|
|
|
--> $DIR/E0445.rs:14:1
|
2018-02-07 21:35:35 -06:00
|
|
|
|
|
2020-10-16 18:28:11 -05:00
|
|
|
LL | trait Foo {
|
|
|
|
| --------- `Foo` declared as private
|
|
|
|
...
|
2018-02-22 18:42:32 -06:00
|
|
|
LL | pub struct Bar2<T: Foo>(pub T);
|
2022-02-13 09:27:59 -06:00
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
|
2018-02-07 21:35:35 -06:00
|
|
|
|
2023-05-18 06:57:45 -05:00
|
|
|
warning: trait `Foo` is more private than the item `Bar2`
|
|
|
|
|
|
|
|
|
note: struct `Bar2` is reachable at visibility `pub`
|
|
|
|
--> $DIR/E0445.rs:14:1
|
|
|
|
|
|
|
|
|
LL | pub struct Bar2<T: Foo>(pub T);
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
note: but trait `Foo` is only usable at visibility `pub(crate)`
|
|
|
|
--> $DIR/E0445.rs:8:1
|
|
|
|
|
|
|
|
|
LL | trait Foo {
|
|
|
|
| ^^^^^^^^^
|
|
|
|
|
2018-02-07 21:35:35 -06:00
|
|
|
error[E0445]: private trait `Foo` in public interface
|
2023-05-18 06:57:45 -05:00
|
|
|
--> $DIR/E0445.rs:16:1
|
2018-02-07 21:35:35 -06:00
|
|
|
|
|
2020-10-16 18:28:11 -05:00
|
|
|
LL | trait Foo {
|
|
|
|
| --------- `Foo` declared as private
|
|
|
|
...
|
2018-02-22 18:42:32 -06:00
|
|
|
LL | pub fn foo<T: Foo> (t: T) {}
|
2020-08-12 16:02:14 -05:00
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak private trait
|
2018-02-07 21:35:35 -06:00
|
|
|
|
2023-05-18 06:57:45 -05:00
|
|
|
warning: trait `Foo` is more private than the item `foo`
|
|
|
|
|
|
|
|
|
note: function `foo` is reachable at visibility `pub`
|
|
|
|
--> $DIR/E0445.rs:16:1
|
|
|
|
|
|
|
|
|
LL | pub fn foo<T: Foo> (t: T) {}
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
note: but trait `Foo` is only usable at visibility `pub(crate)`
|
|
|
|
--> $DIR/E0445.rs:8:1
|
|
|
|
|
|
|
|
|
LL | trait Foo {
|
|
|
|
| ^^^^^^^^^
|
|
|
|
|
|
|
|
error: aborting due to 3 previous errors; 3 warnings emitted
|
2018-02-07 21:35:35 -06:00
|
|
|
|
2018-03-03 08:59:40 -06:00
|
|
|
For more information about this error, try `rustc --explain E0445`.
|