]> git.lizzy.rs Git - rust.git/blob - src/test/ui/try-poll.rs
Rollup merge of #57132 - daxpedda:master, r=steveklabnik
[rust.git] / src / test / ui / try-poll.rs
1 // compile-pass
2
3 #![allow(dead_code, unused)]
4 #![feature(futures_api)]
5
6 use std::task::Poll;
7
8 struct K;
9 struct E;
10
11 fn as_result() -> Result<(), E> {
12     // From Result
13     let K = Ok::<K, E>(K)?;
14
15     // From Poll<Result>
16     let _: Poll<K> = Poll::Ready::<Result<K, E>>(Ok(K))?;
17
18     // From Poll<Option<Result>>
19     let _: Poll<Option<K>> = Poll::Ready::<Option<Result<K, E>>>(None)?;
20
21     Ok(())
22 }
23
24 fn as_poll_result() -> Poll<Result<(), E>> {
25     // From Result
26     let K = Ok::<K, E>(K)?;
27
28     // From Poll<Result>
29     let _: Poll<K> = Poll::Ready::<Result<K, E>>(Ok(K))?;
30
31     // From Poll<Option<Result>>
32     let _: Poll<Option<K>> = Poll::Ready::<Option<Result<K, E>>>(None)?;
33
34     Poll::Ready(Ok(()))
35 }
36
37 fn as_poll_option_result() -> Poll<Option<Result<(), E>>> {
38     // From Result
39     let K = Ok::<K, E>(K)?;
40
41     // From Poll<Result>
42     let _: Poll<K> = Poll::Ready::<Result<K, E>>(Ok(K))?;
43
44     // From Poll<Option<Result>>
45     let _: Poll<Option<K>> = Poll::Ready::<Option<Result<K, E>>>(None)?;
46
47     Poll::Ready(Some(Ok(())))
48 }
49
50 fn main() {
51 }