| //@ build-pass (FIXME(62277): could be check-pass?) | |
| #![allow(dead_code, unused)] | |
| use std::task::Poll; | |
| struct K; | |
| struct E; | |
| fn as_result() -> Result<(), E> { | |
| // From Result | |
| let K = Ok::<K, E>(K)?; | |
| // From Poll<Result> | |
| let _: Poll<K> = Poll::Ready::<Result<K, E>>(Ok(K))?; | |
| // From Poll<Option<Result>> | |
| let _: Poll<Option<K>> = Poll::Ready::<Option<Result<K, E>>>(None)?; | |
| Ok(()) | |
| } | |
| fn as_poll_result() -> Poll<Result<(), E>> { | |
| // From Result | |
| let K = Ok::<K, E>(K)?; | |
| // From Poll<Result> | |
| let _: Poll<K> = Poll::Ready::<Result<K, E>>(Ok(K))?; | |
| // From Poll<Option<Result>> | |
| let _: Poll<Option<K>> = Poll::Ready::<Option<Result<K, E>>>(None)?; | |
| Poll::Ready(Ok(())) | |
| } | |
| fn as_poll_option_result() -> Poll<Option<Result<(), E>>> { | |
| // From Result | |
| let K = Ok::<K, E>(K)?; | |
| // From Poll<Result> | |
| let _: Poll<K> = Poll::Ready::<Result<K, E>>(Ok(K))?; | |
| // From Poll<Option<Result>> | |
| let _: Poll<Option<K>> = Poll::Ready::<Option<Result<K, E>>>(None)?; | |
| Poll::Ready(Some(Ok(()))) | |
| } | |
| fn main() { | |
| } |