blob: 0393f7bc19df76425c7979c99e52473e1c8d801c [file]
error[E0277]: `&'a (dyn Dummy + 'a)` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:9:26
|
LL | assert_send_static::<&'a dyn Dummy>();
| ^^^^^^^^^^^^^ `&'a (dyn Dummy + 'a)` cannot be sent between threads safely
|
= help: the trait `Sync` is not implemented for `(dyn Dummy + 'a)`
= note: required for `&'a (dyn Dummy + 'a)` to implement `Send`
note: required by a bound in `assert_send_static`
--> $DIR/send-trait-objects-basic.rs:3:26
|
LL | fn assert_send_static<T: Send + 'static>() {}
| ^^^^ required by this bound in `assert_send_static`
error[E0277]: `(dyn Dummy + 'a)` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:19:26
|
LL | assert_send_static::<Box<dyn Dummy + 'a>>();
| ^^^^^^^^^^^^^^^^^^^ `(dyn Dummy + 'a)` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `(dyn Dummy + 'a)`
= note: required for `std::ptr::Unique<(dyn Dummy + 'a)>` to implement `Send`
note: required because it appears within the type `Box<(dyn Dummy + 'a)>`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL
note: required by a bound in `assert_send_static`
--> $DIR/send-trait-objects-basic.rs:3:26
|
LL | fn assert_send_static<T: Send + 'static>() {}
| ^^^^ required by this bound in `assert_send_static`
error[E0277]: `*mut &'a isize` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:24:19
|
LL | assert_send::<*mut &'a isize>();
| ^^^^^^^^^^^^^^ `*mut &'a isize` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `*mut &'a isize`
note: required by a bound in `assert_send`
--> $DIR/send-trait-objects-basic.rs:4:19
|
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error[E0277]: `&'static (dyn Dummy + 'static)` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:32:19
|
LL | assert_send::<&'static dyn Dummy>();
| ^^^^^^^^^^^^^^^^^^ `&'static (dyn Dummy + 'static)` cannot be sent between threads safely
|
= help: the trait `Sync` is not implemented for `(dyn Dummy + 'static)`
= note: required for `&'static (dyn Dummy + 'static)` to implement `Send`
note: required by a bound in `assert_send`
--> $DIR/send-trait-objects-basic.rs:4:19
|
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error[E0277]: `dyn Dummy` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:34:19
|
LL | assert_send::<Box<dyn Dummy>>();
| ^^^^^^^^^^^^^^ `dyn Dummy` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `dyn Dummy`
= note: required for `std::ptr::Unique<dyn Dummy>` to implement `Send`
note: required because it appears within the type `Box<dyn Dummy>`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL
note: required by a bound in `assert_send`
--> $DIR/send-trait-objects-basic.rs:4:19
|
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error[E0277]: `*mut u8` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:45:19
|
LL | assert_send::<Box<*mut u8>>();
| ^^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `*mut u8`
= note: required for `std::ptr::Unique<*mut u8>` to implement `Send`
note: required because it appears within the type `Box<*mut u8>`
--> $SRC_DIR/alloc/src/boxed.rs:LL:COL
note: required by a bound in `assert_send`
--> $DIR/send-trait-objects-basic.rs:4:19
|
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error[E0277]: `*mut isize` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:48:19
|
LL | assert_send::<*mut isize>();
| ^^^^^^^^^^ `*mut isize` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `*mut isize`
note: required by a bound in `assert_send`
--> $DIR/send-trait-objects-basic.rs:4:19
|
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error[E0277]: `&'static (dyn Dummy + 'static)` cannot be sent between threads safely
--> $DIR/send-trait-objects-basic.rs:53:19
|
LL | assert_send::<&'static (dyn Dummy + 'static)>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `&'static (dyn Dummy + 'static)` cannot be sent between threads safely
|
= help: the trait `Sync` is not implemented for `(dyn Dummy + 'static)`
= note: required for `&'static (dyn Dummy + 'static)` to implement `Send`
note: required by a bound in `assert_send`
--> $DIR/send-trait-objects-basic.rs:4:19
|
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error: lifetime may not live long enough
--> $DIR/send-trait-objects-basic.rs:14:5
|
LL | fn test2<'a>() {
| -- lifetime `'a` defined here
LL | assert_send_static::<&'a (dyn Dummy + Sync)>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`
error: aborting due to 9 previous errors
For more information about this error, try `rustc --explain E0277`.