rust/src/test/ui/async-await/issues/issue-65436-raw-ptr-not-send.no_drop_tracking.stderr

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
1.4 KiB
Plaintext
Raw Normal View History

error: future cannot be sent between threads safely
2022-09-13 16:39:36 -05:00
--> $DIR/issue-65436-raw-ptr-not-send.rs:16:17
|
2022-08-16 01:27:22 -05:00
LL | assert_send(async {
| _________________^
LL | |
LL | | bar(Foo(std::ptr::null())).await;
LL | | })
| |_____^ future created by async block is not `Send`
|
= help: within `[async block@$DIR/issue-65436-raw-ptr-not-send.rs:16:17: 19:6]`, the trait `Send` is not implemented for `*const u8`
note: future is not `Send` as this value is used across an await
2022-09-13 16:39:36 -05:00
--> $DIR/issue-65436-raw-ptr-not-send.rs:18:35
|
LL | bar(Foo(std::ptr::null())).await;
2021-12-02 17:41:45 -06:00
| ---------------- ^^^^^^ await occurs here, with `std::ptr::null()` maybe used later
| |
| has type `*const u8` which is not `Send`
2021-12-02 17:41:45 -06:00
note: `std::ptr::null()` is later dropped here
2022-09-13 16:39:36 -05:00
--> $DIR/issue-65436-raw-ptr-not-send.rs:18:41
2021-12-02 17:41:45 -06:00
|
LL | bar(Foo(std::ptr::null())).await;
| ^
help: consider moving this into a `let` binding to create a shorter lived borrow
2022-09-13 16:39:36 -05:00
--> $DIR/issue-65436-raw-ptr-not-send.rs:18:13
|
LL | bar(Foo(std::ptr::null())).await;
| ^^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `assert_send`
2022-09-13 16:39:36 -05:00
--> $DIR/issue-65436-raw-ptr-not-send.rs:13:19
|
LL | fn assert_send<T: Send>(_: T) {}
| ^^^^ required by this bound in `assert_send`
error: aborting due to previous error