mirror of https://github.com/fafhrd91/actix-net
add new spawn sig tests
This commit is contained in:
parent
b2330ce68a
commit
9df1b45fd1
|
@ -1,6 +1,9 @@
|
||||||
# Changes
|
# Changes
|
||||||
|
|
||||||
## Unreleased - 2021-xx-xx
|
## Unreleased - 2021-xx-xx
|
||||||
|
* The `spawn` method can now resolve with non-unit outputs. [#369]
|
||||||
|
|
||||||
|
[#369]: https://github.com/actix/actix-net/pull/369
|
||||||
|
|
||||||
|
|
||||||
## 2.2.0 - 2021-03-29
|
## 2.2.0 - 2021-03-29
|
||||||
|
|
|
@ -9,6 +9,7 @@ use std::{
|
||||||
};
|
};
|
||||||
|
|
||||||
use actix_rt::{Arbiter, System};
|
use actix_rt::{Arbiter, System};
|
||||||
|
use futures_core::Future;
|
||||||
use tokio::sync::oneshot;
|
use tokio::sync::oneshot;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -298,3 +299,26 @@ fn try_current_no_system() {
|
||||||
fn try_current_with_system() {
|
fn try_current_with_system() {
|
||||||
System::new().block_on(async { assert!(System::try_current().is_some()) });
|
System::new().block_on(async { assert!(System::try_current().is_some()) });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[actix_rt::test]
|
||||||
|
async fn spawn_local() {
|
||||||
|
// demonstrate that spawn -> R is strictly more capable than spawn -> ()
|
||||||
|
|
||||||
|
assert_eq!(actix_rt::spawn(async { (|| {})() }).await.unwrap(), ());
|
||||||
|
assert_eq!(actix_rt::spawn(async { 1 }).await.unwrap(), 1);
|
||||||
|
assert!(actix_rt::spawn(async { panic!("") }).await.is_err());
|
||||||
|
|
||||||
|
actix_rt::spawn(async { tokio::time::sleep(Duration::from_millis(50)).await })
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
use actix_rt::task::JoinError;
|
||||||
|
|
||||||
|
fn g<F: Future<Output = Result<(), JoinError>>>(_f: F) {}
|
||||||
|
g(actix_rt::spawn(async {}));
|
||||||
|
// g(actix_rt::spawn(async { 1 })); // compile err
|
||||||
|
|
||||||
|
fn h<F: Future<Output = Result<R, JoinError>>, R>(_f: F) {}
|
||||||
|
h(actix_rt::spawn(async {}));
|
||||||
|
h(actix_rt::spawn(async { 1 }));
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue