2021-12-24 14:50:44 +00:00
|
|
|
error[E0277]: the trait bound `T: ~const Bar` is not satisfied
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:13:5
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
|
|
|
LL | T::b();
|
2021-12-24 14:50:44 +00:00
|
|
|
| ^^^^ the trait `~const Bar` is not implemented for `T`
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
2022-01-27 03:09:44 +00:00
|
|
|
note: the trait `Bar` is implemented for `T`, but that implementation is not `const`
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:13:5
|
2022-01-27 03:09:44 +00:00
|
|
|
|
|
|
|
|
LL | T::b();
|
|
|
|
| ^^^^
|
2021-10-05 23:04:09 +00:00
|
|
|
note: required by a bound in `Foo::b`
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:7:24
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
|
|
|
LL | fn b() where Self: ~const Bar;
|
2021-10-05 23:04:09 +00:00
|
|
|
| ^^^^^^^^^^ required by this bound in `Foo::b`
|
2021-08-28 07:37:30 +00:00
|
|
|
help: consider further restricting this bound
|
|
|
|
|
|
2021-12-24 14:50:44 +00:00
|
|
|
LL | const fn test1<T: ~const Foo + Bar + ~const Bar>() {
|
|
|
|
| ++++++++++++
|
2021-08-28 07:37:30 +00:00
|
|
|
|
2021-12-24 14:50:44 +00:00
|
|
|
error[E0277]: the trait bound `T: ~const Bar` is not satisfied
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:15:5
|
2021-08-28 15:53:26 +00:00
|
|
|
|
|
|
|
|
LL | T::c::<T>();
|
2021-12-24 14:50:44 +00:00
|
|
|
| ^^^^^^^^^ the trait `~const Bar` is not implemented for `T`
|
2021-08-28 15:53:26 +00:00
|
|
|
|
|
2022-01-27 03:09:44 +00:00
|
|
|
note: the trait `Bar` is implemented for `T`, but that implementation is not `const`
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:15:5
|
2022-01-27 03:09:44 +00:00
|
|
|
|
|
|
|
|
LL | T::c::<T>();
|
|
|
|
| ^^^^^^^^^
|
2021-10-05 23:04:09 +00:00
|
|
|
note: required by a bound in `Foo::c`
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:8:13
|
2021-08-28 15:53:26 +00:00
|
|
|
|
|
|
|
|
LL | fn c<T: ~const Bar>();
|
2021-10-05 23:04:09 +00:00
|
|
|
| ^^^^^^^^^^ required by this bound in `Foo::c`
|
2021-08-28 15:53:26 +00:00
|
|
|
help: consider further restricting this bound
|
|
|
|
|
|
2021-12-24 14:50:44 +00:00
|
|
|
LL | const fn test1<T: ~const Foo + Bar + ~const Bar>() {
|
|
|
|
| ++++++++++++
|
2021-08-28 15:53:26 +00:00
|
|
|
|
|
|
|
error[E0277]: the trait bound `T: Bar` is not satisfied
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:27:5
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
|
|
|
LL | T::b();
|
|
|
|
| ^^^^ the trait `Bar` is not implemented for `T`
|
|
|
|
|
|
2021-10-05 23:04:09 +00:00
|
|
|
note: required by a bound in `Foo::b`
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:7:24
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
|
|
|
LL | fn b() where Self: ~const Bar;
|
2021-10-05 23:04:09 +00:00
|
|
|
| ^^^^^^^^^^ required by this bound in `Foo::b`
|
2021-08-28 07:37:30 +00:00
|
|
|
help: consider further restricting this bound
|
|
|
|
|
|
|
|
|
LL | fn test3<T: Foo + Bar>() {
|
|
|
|
| +++++
|
|
|
|
|
2021-08-28 15:53:26 +00:00
|
|
|
error[E0277]: the trait bound `T: Bar` is not satisfied
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:29:5
|
2021-08-28 15:53:26 +00:00
|
|
|
|
|
|
|
|
LL | T::c::<T>();
|
|
|
|
| ^^^^^^^^^ the trait `Bar` is not implemented for `T`
|
|
|
|
|
|
2021-10-05 23:04:09 +00:00
|
|
|
note: required by a bound in `Foo::c`
|
2022-02-09 18:53:40 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:8:13
|
2021-08-28 15:53:26 +00:00
|
|
|
|
|
|
|
|
LL | fn c<T: ~const Bar>();
|
2021-10-05 23:04:09 +00:00
|
|
|
| ^^^^^^^^^^ required by this bound in `Foo::c`
|
2021-08-28 15:53:26 +00:00
|
|
|
help: consider further restricting this bound
|
|
|
|
|
|
|
|
|
LL | fn test3<T: Foo + Bar>() {
|
|
|
|
| +++++
|
|
|
|
|
|
|
|
error: aborting due to 4 previous errors
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|