2021-12-24 22:50:44 +08:00
|
|
|
error[E0277]: the trait bound `T: ~const Bar` is not satisfied
|
2021-08-28 15:53:26 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:14:5
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
|
|
|
LL | T::b();
|
2021-12-24 22:50:44 +08:00
|
|
|
| ^^^^ the trait `~const Bar` is not implemented for `T`
|
2021-08-28 07:37:30 +00:00
|
|
|
|
|
2022-01-26 19:09:44 -08:00
|
|
|
note: the trait `Bar` is implemented for `T`, but that implementation is not `const`
|
|
|
|
--> $DIR/trait-where-clause.rs:14:5
|
|
|
|
|
|
|
|
|
LL | T::b();
|
|
|
|
| ^^^^
|
2021-10-05 23:04:09 +00:00
|
|
|
note: required by a bound in `Foo::b`
|
|
|
|
--> $DIR/trait-where-clause.rs:8: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 22:50:44 +08:00
|
|
|
LL | const fn test1<T: ~const Foo + Bar + ~const Bar>() {
|
|
|
|
| ++++++++++++
|
2021-08-28 07:37:30 +00:00
|
|
|
|
2021-12-24 22:50:44 +08:00
|
|
|
error[E0277]: the trait bound `T: ~const Bar` is not satisfied
|
2021-08-28 15:53:26 +00:00
|
|
|
--> $DIR/trait-where-clause.rs:16:5
|
|
|
|
|
|
|
|
|
LL | T::c::<T>();
|
2021-12-24 22:50:44 +08:00
|
|
|
| ^^^^^^^^^ the trait `~const Bar` is not implemented for `T`
|
2021-08-28 15:53:26 +00:00
|
|
|
|
|
2022-01-26 19:09:44 -08:00
|
|
|
note: the trait `Bar` is implemented for `T`, but that implementation is not `const`
|
|
|
|
--> $DIR/trait-where-clause.rs:16:5
|
|
|
|
|
|
|
|
|
LL | T::c::<T>();
|
|
|
|
| ^^^^^^^^^
|
2021-10-05 23:04:09 +00:00
|
|
|
note: required by a bound in `Foo::c`
|
|
|
|
--> $DIR/trait-where-clause.rs:9: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 22:50:44 +08: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
|
|
|
|
--> $DIR/trait-where-clause.rs:28: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`
|
|
|
|
--> $DIR/trait-where-clause.rs:8: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
|
|
|
|
--> $DIR/trait-where-clause.rs:30:5
|
|
|
|
|
|
|
|
|
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`
|
|
|
|
--> $DIR/trait-where-clause.rs:9: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`.
|