5b54286640
Remove the "which is required by `{root_obligation}`" post-script in "the trait `X` is not implemented for `Y`" explanation in E0277. This information is already conveyed in the notes explaining requirements, making it redundant while making the text (particularly in labels) harder to read. ``` error[E0277]: the trait bound `NotCopy: Copy` is not satisfied --> $DIR/wf-static-type.rs:10:13 | LL | static FOO: IsCopy<Option<NotCopy>> = IsCopy { t: None }; | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy` | = note: required for `Option<NotCopy>` to implement `Copy` note: required by a bound in `IsCopy` --> $DIR/wf-static-type.rs:7:17 | LL | struct IsCopy<T:Copy> { t: T } | ^^^^ required by this bound in `IsCopy` ``` vs the prior ``` error[E0277]: the trait bound `NotCopy: Copy` is not satisfied --> $DIR/wf-static-type.rs:10:13 | LL | static FOO: IsCopy<Option<NotCopy>> = IsCopy { t: None }; | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `NotCopy`, which is required by `Option<NotCopy>: Copy` | = note: required for `Option<NotCopy>` to implement `Copy` note: required by a bound in `IsCopy` --> $DIR/wf-static-type.rs:7:17 | LL | struct IsCopy<T:Copy> { t: T } | ^^^^ required by this bound in `IsCopy` ```
130 lines
5.0 KiB
Plaintext
130 lines
5.0 KiB
Plaintext
error[E0277]: `dummy::TestType` cannot be sent between threads safely
|
|
--> $DIR/negated-auto-traits-error.rs:23:11
|
|
|
|
|
LL | Outer(TestType);
|
|
| ----- ^^^^^^^^ `dummy::TestType` cannot be sent between threads safely
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
= help: the trait `Send` is not implemented for `dummy::TestType`
|
|
note: required by a bound in `Outer`
|
|
--> $DIR/negated-auto-traits-error.rs:10:17
|
|
|
|
|
LL | struct Outer<T: Send>(T);
|
|
| ^^^^ required by this bound in `Outer`
|
|
|
|
error[E0277]: `dummy::TestType` cannot be sent between threads safely
|
|
--> $DIR/negated-auto-traits-error.rs:23:5
|
|
|
|
|
LL | Outer(TestType);
|
|
| ^^^^^^^^^^^^^^^ `dummy::TestType` cannot be sent between threads safely
|
|
|
|
|
= help: the trait `Send` is not implemented for `dummy::TestType`
|
|
note: required by a bound in `Outer`
|
|
--> $DIR/negated-auto-traits-error.rs:10:17
|
|
|
|
|
LL | struct Outer<T: Send>(T);
|
|
| ^^^^ required by this bound in `Outer`
|
|
|
|
error[E0277]: `dummy1b::TestType` cannot be sent between threads safely
|
|
--> $DIR/negated-auto-traits-error.rs:32:13
|
|
|
|
|
LL | is_send(TestType);
|
|
| ------- ^^^^^^^^ `dummy1b::TestType` cannot be sent between threads safely
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
= help: the trait `Send` is not implemented for `dummy1b::TestType`
|
|
note: required by a bound in `is_send`
|
|
--> $DIR/negated-auto-traits-error.rs:16:15
|
|
|
|
|
LL | fn is_send<T: Send>(_: T) {}
|
|
| ^^^^ required by this bound in `is_send`
|
|
|
|
error[E0277]: `dummy1c::TestType` cannot be sent between threads safely
|
|
--> $DIR/negated-auto-traits-error.rs:40:13
|
|
|
|
|
LL | is_send((8, TestType));
|
|
| ------- ^^^^^^^^^^^^^ `dummy1c::TestType` cannot be sent between threads safely
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
= help: within `({integer}, dummy1c::TestType)`, the trait `Send` is not implemented for `dummy1c::TestType`
|
|
= note: required because it appears within the type `({integer}, dummy1c::TestType)`
|
|
note: required by a bound in `is_send`
|
|
--> $DIR/negated-auto-traits-error.rs:16:15
|
|
|
|
|
LL | fn is_send<T: Send>(_: T) {}
|
|
| ^^^^ required by this bound in `is_send`
|
|
|
|
error[E0277]: `dummy2::TestType` cannot be sent between threads safely
|
|
--> $DIR/negated-auto-traits-error.rs:48:13
|
|
|
|
|
LL | is_send(Box::new(TestType));
|
|
| ------- ^^^^^^^^^^^^^^^^^^ the trait `Send` is not implemented for `Unique<dummy2::TestType>`
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
= note: the trait bound `Unique<dummy2::TestType>: Send` is not satisfied
|
|
= note: required for `Unique<dummy2::TestType>` to implement `Send`
|
|
note: required because it appears within the type `Box<dummy2::TestType>`
|
|
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
|
note: required by a bound in `is_send`
|
|
--> $DIR/negated-auto-traits-error.rs:16:15
|
|
|
|
|
LL | fn is_send<T: Send>(_: T) {}
|
|
| ^^^^ required by this bound in `is_send`
|
|
help: consider borrowing here
|
|
|
|
|
LL | is_send(&Box::new(TestType));
|
|
| +
|
|
|
|
error[E0277]: `dummy3::TestType` cannot be sent between threads safely
|
|
--> $DIR/negated-auto-traits-error.rs:56:13
|
|
|
|
|
LL | is_send(Box::new(Outer2(TestType)));
|
|
| ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^ `dummy3::TestType` cannot be sent between threads safely
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
= help: within `Outer2<dummy3::TestType>`, the trait `Send` is not implemented for `dummy3::TestType`
|
|
note: required because it appears within the type `Outer2<dummy3::TestType>`
|
|
--> $DIR/negated-auto-traits-error.rs:12:8
|
|
|
|
|
LL | struct Outer2<T>(T);
|
|
| ^^^^^^
|
|
= note: required for `Unique<Outer2<dummy3::TestType>>` to implement `Send`
|
|
note: required because it appears within the type `Box<Outer2<dummy3::TestType>>`
|
|
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL
|
|
note: required by a bound in `is_send`
|
|
--> $DIR/negated-auto-traits-error.rs:16:15
|
|
|
|
|
LL | fn is_send<T: Send>(_: T) {}
|
|
| ^^^^ required by this bound in `is_send`
|
|
|
|
error[E0277]: `main::TestType` cannot be sent between threads safely
|
|
--> $DIR/negated-auto-traits-error.rs:66:20
|
|
|
|
|
LL | is_sync(Outer2(TestType));
|
|
| ------- ^^^^^^^^ `main::TestType` cannot be sent between threads safely
|
|
| |
|
|
| required by a bound introduced by this call
|
|
|
|
|
= help: the trait `Send` is not implemented for `main::TestType`
|
|
note: required for `Outer2<main::TestType>` to implement `Sync`
|
|
--> $DIR/negated-auto-traits-error.rs:14:22
|
|
|
|
|
LL | unsafe impl<T: Send> Sync for Outer2<T> {}
|
|
| ---- ^^^^ ^^^^^^^^^
|
|
| |
|
|
| unsatisfied trait bound introduced here
|
|
note: required by a bound in `is_sync`
|
|
--> $DIR/negated-auto-traits-error.rs:17:15
|
|
|
|
|
LL | fn is_sync<T: Sync>(_: T) {}
|
|
| ^^^^ required by this bound in `is_sync`
|
|
|
|
error: aborting due to 7 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|