aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-executor')
-rw-r--r--embassy-executor/Cargo.toml6
-rw-r--r--embassy-executor/src/raw/mod.rs2
-rw-r--r--embassy-executor/tests/ui/spawn_nonsend.rs2
-rw-r--r--embassy-executor/tests/ui/spawn_nonsend.stderr22
-rw-r--r--embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr2
5 files changed, 14 insertions, 20 deletions
diff --git a/embassy-executor/Cargo.toml b/embassy-executor/Cargo.toml
index f6dce5c0e..61d060630 100644
--- a/embassy-executor/Cargo.toml
+++ b/embassy-executor/Cargo.toml
@@ -123,6 +123,12 @@ rustversion = "1.0.21"
123## Enable nightly-only features 123## Enable nightly-only features
124nightly = ["embassy-executor-macros/nightly"] 124nightly = ["embassy-executor-macros/nightly"]
125 125
126## Enable defmt logging
127defmt = ["dep:defmt"]
128
129## Enable log logging
130log = ["dep:log"]
131
126# Enables turbo wakers, which requires patching core. Not surfaced in the docs by default due to 132# Enables turbo wakers, which requires patching core. Not surfaced in the docs by default due to
127# being an complicated advanced and undocumented feature. 133# being an complicated advanced and undocumented feature.
128# See: https://github.com/embassy-rs/embassy/pull/1263 134# See: https://github.com/embassy-rs/embassy/pull/1263
diff --git a/embassy-executor/src/raw/mod.rs b/embassy-executor/src/raw/mod.rs
index 9f36c60bc..dbd70cbf4 100644
--- a/embassy-executor/src/raw/mod.rs
+++ b/embassy-executor/src/raw/mod.rs
@@ -564,8 +564,6 @@ impl Executor {
564 /// 564 ///
565 /// # Safety 565 /// # Safety
566 /// 566 ///
567 /// You must call `initialize` before calling this method.
568 ///
569 /// You must NOT call `poll` reentrantly on the same executor. 567 /// You must NOT call `poll` reentrantly on the same executor.
570 /// 568 ///
571 /// In particular, note that `poll` may call the pender synchronously. Therefore, you 569 /// In particular, note that `poll` may call the pender synchronously. Therefore, you
diff --git a/embassy-executor/tests/ui/spawn_nonsend.rs b/embassy-executor/tests/ui/spawn_nonsend.rs
index 601041941..a06c0b37a 100644
--- a/embassy-executor/tests/ui/spawn_nonsend.rs
+++ b/embassy-executor/tests/ui/spawn_nonsend.rs
@@ -1,7 +1,5 @@
1#![cfg_attr(feature = "nightly", feature(impl_trait_in_assoc_type))] 1#![cfg_attr(feature = "nightly", feature(impl_trait_in_assoc_type))]
2 2
3use core::future::Future;
4
5use embassy_executor::SendSpawner; 3use embassy_executor::SendSpawner;
6 4
7#[embassy_executor::task] 5#[embassy_executor::task]
diff --git a/embassy-executor/tests/ui/spawn_nonsend.stderr b/embassy-executor/tests/ui/spawn_nonsend.stderr
index 25bd7d78d..31efadd49 100644
--- a/embassy-executor/tests/ui/spawn_nonsend.stderr
+++ b/embassy-executor/tests/ui/spawn_nonsend.stderr
@@ -1,27 +1,19 @@
1warning: unused import: `core::future::Future`
2 --> tests/ui/spawn_nonsend.rs:3:5
3 |
43 | use core::future::Future;
5 | ^^^^^^^^^^^^^^^^^^^^
6 |
7 = note: `#[warn(unused_imports)]` on by default
8
9error[E0277]: `*mut ()` cannot be sent between threads safely 1error[E0277]: `*mut ()` cannot be sent between threads safely
10 --> tests/ui/spawn_nonsend.rs:13:13 2 --> tests/ui/spawn_nonsend.rs:11:13
11 | 3 |
127 | #[embassy_executor::task] 4 5 | #[embassy_executor::task]
13 | ------------------------- within this `impl Sized` 5 | ------------------------- within this `impl Sized`
14... 6...
1513 | s.spawn(task(core::ptr::null_mut()).unwrap()); 711 | s.spawn(task(core::ptr::null_mut()).unwrap());
16 | ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*mut ()` cannot be sent between threads safely 8 | ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*mut ()` cannot be sent between threads safely
17 | | 9 | |
18 | required by a bound introduced by this call 10 | required by a bound introduced by this call
19 | 11 |
20 = help: within `impl Sized`, the trait `Send` is not implemented for `*mut ()` 12 = help: within `impl Sized`, the trait `Send` is not implemented for `*mut ()`
21note: required because it's used within this closure 13note: required because it's used within this closure
22 --> tests/ui/spawn_nonsend.rs:7:1 14 --> tests/ui/spawn_nonsend.rs:5:1
23 | 15 |
247 | #[embassy_executor::task] 16 5 | #[embassy_executor::task]
25 | ^^^^^^^^^^^^^^^^^^^^^^^^^ 17 | ^^^^^^^^^^^^^^^^^^^^^^^^^
26note: required because it appears within the type `impl Sized` 18note: required because it appears within the type `impl Sized`
27 --> src/raw/mod.rs 19 --> src/raw/mod.rs
@@ -29,9 +21,9 @@ note: required because it appears within the type `impl Sized`
29 | pub unsafe fn _spawn_async_fn<FutFn>(&'static self, future: FutFn) -> Result<SpawnToken<impl Sized>, SpawnError> 21 | pub unsafe fn _spawn_async_fn<FutFn>(&'static self, future: FutFn) -> Result<SpawnToken<impl Sized>, SpawnError>
30 | ^^^^^^^^^^ 22 | ^^^^^^^^^^
31note: required because it appears within the type `impl Sized` 23note: required because it appears within the type `impl Sized`
32 --> tests/ui/spawn_nonsend.rs:7:1 24 --> tests/ui/spawn_nonsend.rs:5:1
33 | 25 |
347 | #[embassy_executor::task] 26 5 | #[embassy_executor::task]
35 | ^^^^^^^^^^^^^^^^^^^^^^^^^ 27 | ^^^^^^^^^^^^^^^^^^^^^^^^^
36note: required by a bound in `SendSpawner::spawn` 28note: required by a bound in `SendSpawner::spawn`
37 --> src/spawner.rs 29 --> src/spawner.rs
diff --git a/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr b/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr
index d987a4b95..033395584 100644
--- a/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr
+++ b/embassy-executor/tests/ui/unsafe_op_in_unsafe_task.stderr
@@ -4,7 +4,7 @@ error[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::rea
47 | (&x as *const i32).read(); 47 | (&x as *const i32).read();
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function 5 | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
6 | 6 |
7 = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html> 7 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
8 = note: consult the function's documentation for information on how to avoid undefined behavior 8 = note: consult the function's documentation for information on how to avoid undefined behavior
9note: an unsafe function restricts its caller, but its body is safe by default 9note: an unsafe function restricts its caller, but its body is safe by default
10 --> tests/ui/unsafe_op_in_unsafe_task.rs:5:1 10 --> tests/ui/unsafe_op_in_unsafe_task.rs:5:1