about summary refs log tree commit diff
path: root/src/test/ui/async-await/issue-61076.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/async-await/issue-61076.rs')
-rw-r--r--src/test/ui/async-await/issue-61076.rs97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/test/ui/async-await/issue-61076.rs b/src/test/ui/async-await/issue-61076.rs
deleted file mode 100644
index 750fad8393b..00000000000
--- a/src/test/ui/async-await/issue-61076.rs
+++ /dev/null
@@ -1,97 +0,0 @@
-// edition:2018
-
-use core::future::Future;
-use core::pin::Pin;
-use core::task::{Context, Poll};
-
-struct T;
-
-struct Tuple(i32);
-
-struct Struct {
-    a: i32
-}
-
-impl Struct {
-    fn method(&self) {}
-}
-
-impl Future for Struct {
-    type Output = Struct;
-    fn poll(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Self::Output> { Poll::Pending }
-}
-
-impl Future for Tuple {
-    type Output = Tuple;
-    fn poll(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Self::Output> { Poll::Pending }
-}
-
-impl Future for T {
-    type Output = Result<(), ()>;
-
-    fn poll(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Self::Output> {
-        Poll::Pending
-    }
-}
-
-async fn foo() -> Result<(), ()> {
-    Ok(())
-}
-
-async fn bar() -> Result<(), ()> {
-    foo()?; //~ ERROR the `?` operator can only be applied to values that implement `Try`
-    //~^ NOTE the `?` operator cannot be applied to type `impl Future<Output = Result<(), ()>>`
-    //~| HELP the trait `Try` is not implemented for `impl Future<Output = Result<(), ()>>`
-    //~| HELP consider `await`ing on the `Future`
-    //~| NOTE in this expansion of desugaring of operator `?`
-    //~| NOTE in this expansion of desugaring of operator `?`
-    //~| NOTE in this expansion of desugaring of operator `?`
-    Ok(())
-}
-
-async fn struct_() -> Struct {
-    Struct { a: 1 }
-}
-
-async fn tuple() -> Tuple {
-    //~^ NOTE checked the `Output` of this `async fn`, expected opaque type
-    //~| NOTE while checking the return type of the `async fn`
-    //~| NOTE in this expansion of desugaring of `async` block or function
-    Tuple(1i32)
-}
-
-async fn baz() -> Result<(), ()> {
-    let t = T;
-    t?; //~ ERROR the `?` operator can only be applied to values that implement `Try`
-    //~^ NOTE the `?` operator cannot be applied to type `T`
-    //~| HELP the trait `Try` is not implemented for `T`
-    //~| HELP consider `await`ing on the `Future`
-    //~| NOTE in this expansion of desugaring of operator `?`
-    //~| NOTE in this expansion of desugaring of operator `?`
-    //~| NOTE in this expansion of desugaring of operator `?`
-
-
-    let _: i32 = tuple().0; //~ ERROR no field `0`
-    //~^ HELP consider `await`ing on the `Future`
-    //~| NOTE field not available in `impl Future`
-
-    let _: i32 = struct_().a; //~ ERROR no field `a`
-    //~^ HELP consider `await`ing on the `Future`
-    //~| NOTE field not available in `impl Future`
-
-    struct_().method(); //~ ERROR no method named
-    //~^ NOTE method not found in `impl Future<Output = Struct>`
-    //~| HELP consider `await`ing on the `Future`
-    Ok(())
-}
-
-async fn match_() {
-    match tuple() { //~ HELP consider `await`ing on the `Future`
-        //~^ NOTE this expression has type `impl Future<Output = Tuple>`
-        Tuple(_) => {} //~ ERROR mismatched types
-        //~^ NOTE expected opaque type, found struct `Tuple`
-        //~| NOTE expected opaque type `impl Future<Output = Tuple>`
-    }
-}
-
-fn main() {}