Skip to content

Commit

Permalink
Add test for issue 106062
Browse files Browse the repository at this point in the history
  • Loading branch information
albertlarsan68 committed Jan 9, 2023
1 parent 89e0576 commit c5ee72c
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
26 changes: 26 additions & 0 deletions src/test/ui/mir/issue-106062.rs
Original file line number Diff line number Diff line change
@@ -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() {}
16 changes: 16 additions & 0 deletions src/test/ui/mir/issue-106062.stderr
Original file line number Diff line number Diff line change
@@ -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`.

0 comments on commit c5ee72c

Please sign in to comment.