mirror of
https://github.com/rust-lang/rust.git
synced 2025-09-30 16:26:10 +00:00

* The phrasing "only does something for" made sense back when this diagnostic was a (hard) warning. Now however, it's simply a hard error and thus completely rules out "doing something". * The primary message was way too long * The new wording more closely mirrors the wording we use for applying other bound modifiers (like `const` and `async`) to incompatible traits. * "all other traits are not bound by default" is no longer accurate under Sized Hierarchy. E.g., traits and assoc tys are (currently) bounded by `MetaSized` by default but can't be relaxed using `?MetaSized` (instead, you relax it by adding `PointeeSized`). * I've decided against adding any diagnositic notes or suggestions for now like "trait `Trait` can't be relaxed as it's not bound by default" which would be incorrect for `MetaSized` and assoc tys as mentioned above) or "consider changing `?MetaSized` to `PointeeSized`" as the Sized Hierarchy impl is still WIP)
17 lines
550 B
Plaintext
17 lines
550 B
Plaintext
error: bound modifier `?` can only be applied to `Sized`
|
|
--> $DIR/opt-out-bound-not-satisfied.rs:5:18
|
|
|
|
|
LL | fn foo() -> impl ?Future<Output = impl Send> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: bound modifier `?` can only be applied to `Sized`
|
|
--> $DIR/opt-out-bound-not-satisfied.rs:5:18
|
|
|
|
|
LL | fn foo() -> impl ?Future<Output = impl Send> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
|
|
|
|
error: aborting due to 2 previous errors
|
|
|