diff options
| author | Yuki Okushi <huyuumi.dev+love@gmail.com> | 2023-01-11 14:18:54 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-11 14:18:54 +0900 |
| commit | f547c4b33a87fb167fe9314bd225304e00268fce (patch) | |
| tree | 95e92830ea5ef6753a6978ba9fa23a2d882e2520 | |
| parent | 397013dc443b3bb902d53e0e34e52fd118e4fa16 (diff) | |
| parent | c5ee72cb3b0138114e0436aca989e2d8939d107e (diff) | |
| download | rust-f547c4b33a87fb167fe9314bd225304e00268fce.tar.gz rust-f547c4b33a87fb167fe9314bd225304e00268fce.zip | |
Rollup merge of #106642 - albertlarsan68:test-106062, r=JohnTitor
Add test for #106062 Add a regression test for #106062 Closes #106062
| -rw-r--r-- | src/test/ui/mir/issue-106062.rs | 26 | ||||
| -rw-r--r-- | src/test/ui/mir/issue-106062.stderr | 16 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/test/ui/mir/issue-106062.rs b/src/test/ui/mir/issue-106062.rs new file mode 100644 index 00000000000..621ba566ee3 --- /dev/null +++ b/src/test/ui/mir/issue-106062.rs @@ -0,0 +1,26 @@ +// edition:2018 + +use std::{future::Future, marker::PhantomData}; + +fn spawn<T>(future: T) -> PhantomData<T::Output> +where + T: Future, +{ + loop {} +} + +#[derive(Debug)] +struct IncomingServer {} +impl IncomingServer { + async fn connection_handler(handler: impl Sized) -> Result<Ok, std::io::Error> { + //~^ ERROR expected type, found variant `Ok` [E0573] + loop {} + } + async fn spawn(&self, request_handler: impl Sized) { + async move { + spawn(Self::connection_handler(&request_handler)); + }; + } +} + +fn main() {} diff --git a/src/test/ui/mir/issue-106062.stderr b/src/test/ui/mir/issue-106062.stderr new file mode 100644 index 00000000000..2f6524d03e0 --- /dev/null +++ b/src/test/ui/mir/issue-106062.stderr @@ -0,0 +1,16 @@ +error[E0573]: expected type, found variant `Ok` + --> $DIR/issue-106062.rs:15:64 + | +LL | async fn connection_handler(handler: impl Sized) -> Result<Ok, std::io::Error> { + | ^^ not a type + | +help: try using the variant's enum + | +LL | async fn connection_handler(handler: impl Sized) -> Result<core::result::Result, std::io::Error> { + | ~~~~~~~~~~~~~~~~~~~~ +LL | async fn connection_handler(handler: impl Sized) -> Result<std::result::Result, std::io::Error> { + | ~~~~~~~~~~~~~~~~~~~ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0573`. |
