aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor/tests
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-executor/tests')
-rw-r--r--embassy-executor/tests/test.rs11
-rw-r--r--embassy-executor/tests/ui/bad_return_impl_future_nightly.stderr2
2 files changed, 11 insertions, 2 deletions
diff --git a/embassy-executor/tests/test.rs b/embassy-executor/tests/test.rs
index c1e7ec5d7..b84d3785a 100644
--- a/embassy-executor/tests/test.rs
+++ b/embassy-executor/tests/test.rs
@@ -7,7 +7,7 @@ use std::sync::{Arc, Mutex};
7use std::task::Poll; 7use std::task::Poll;
8 8
9use embassy_executor::raw::Executor; 9use embassy_executor::raw::Executor;
10use embassy_executor::task; 10use embassy_executor::{task, Spawner};
11 11
12#[export_name = "__pender"] 12#[export_name = "__pender"]
13fn __pender(context: *mut ()) { 13fn __pender(context: *mut ()) {
@@ -317,3 +317,12 @@ fn executor_task_cfg_args() {
317 let (_, _, _) = (a, b, c); 317 let (_, _, _) = (a, b, c);
318 } 318 }
319} 319}
320
321#[test]
322fn recursive_task() {
323 #[embassy_executor::task(pool_size = 2)]
324 async fn task1() {
325 let spawner = unsafe { Spawner::for_current_executor().await };
326 spawner.spawn(task1());
327 }
328}
diff --git a/embassy-executor/tests/ui/bad_return_impl_future_nightly.stderr b/embassy-executor/tests/ui/bad_return_impl_future_nightly.stderr
index 73ceb989d..3c3c9503b 100644
--- a/embassy-executor/tests/ui/bad_return_impl_future_nightly.stderr
+++ b/embassy-executor/tests/ui/bad_return_impl_future_nightly.stderr
@@ -7,4 +7,4 @@ error[E0277]: task futures must resolve to `()` or `!`
7 = note: use `async fn` or change the return type to `impl Future<Output = ()>` 7 = note: use `async fn` or change the return type to `impl Future<Output = ()>`
8 = help: the following other types implement trait `TaskReturnValue`: 8 = help: the following other types implement trait `TaskReturnValue`:
9 () 9 ()
10 <fn() -> ! as _export::HasOutput>::Output 10 <fn() -> ! as HasOutput>::Output