futures cannot be sent safely
#Rust
なぜかしょっちゅう勘違いしてしまうのだが、 “future cannot be sent between threads safely” は一般論を述べているわけではない。”This future cannot be sent…“と読み替えればいい。その理由は下の help:
以降にかかれている。この場合だと、rcl_clock_s
がSendを実装していないのがよくない。
error: future cannot be sent between threads safely
--> tests/async_actions.rs:111:50
|
111 | let task_server = async_std::task::spawn(async_std::future::timeout(
| __________________________________________________^
112 | | Duration::from_secs(3),
113 | | run_server(server),
114 | | ));
| |_________^ future is not `Send`
|
= help: within `rcl::humble::rcl_clock_s`, the trait `std::marker::Send` is not implemented for `*mut c_void
Backlinks
There are no notes linking to this note.