Move /src/test to /tests
This commit is contained in:
parent
ca855e6e42
commit
cf2dff2b1e
27592 changed files with 0 additions and 0 deletions
56
tests/ui/async-await/async-await-let-else.rs
Normal file
56
tests/ui/async-await/async-await-let-else.rs
Normal file
|
@ -0,0 +1,56 @@
|
|||
// edition:2021
|
||||
// revisions: drop-tracking no-drop-tracking
|
||||
// [drop-tracking] compile-flags: -Zdrop-tracking=yes
|
||||
// [no-drop-tracking] compile-flags: -Zdrop-tracking=no
|
||||
|
||||
use std::rc::Rc;
|
||||
|
||||
async fn foo(x: Option<bool>) {
|
||||
let Some(_) = x else {
|
||||
let r = Rc::new(());
|
||||
bar().await
|
||||
};
|
||||
}
|
||||
|
||||
async fn bar() -> ! {
|
||||
panic!()
|
||||
}
|
||||
|
||||
fn is_send<T: Send>(_: T) {}
|
||||
|
||||
async fn foo2(x: Option<bool>) {
|
||||
let Some(_) = x else {
|
||||
bar2(Rc::new(())).await
|
||||
};
|
||||
}
|
||||
|
||||
async fn bar2<T>(_: T) -> ! {
|
||||
panic!()
|
||||
}
|
||||
|
||||
async fn foo3(x: Option<bool>) {
|
||||
let Some(_) = x else {
|
||||
(Rc::new(()), bar().await);
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
||||
async fn foo4(x: Option<bool>) {
|
||||
let Some(_) = x else {
|
||||
let r = Rc::new(());
|
||||
bar().await;
|
||||
println!("{:?}", r);
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
||||
fn main() {
|
||||
is_send(foo(Some(true)));
|
||||
//~^ ERROR cannot be sent between threads safely
|
||||
is_send(foo2(Some(true)));
|
||||
//~^ ERROR cannot be sent between threads safely
|
||||
is_send(foo3(Some(true)));
|
||||
//~^ ERROR cannot be sent between threads safely
|
||||
is_send(foo4(Some(true)));
|
||||
//~^ ERROR cannot be sent between threads safely
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue