// Copyright 2018 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // compile-pass #![allow(dead_code, unused)] #![feature(futures_api)] use std::task::Poll; struct K; struct E; fn as_result() -> Result<(), E> { // From Result let K = Ok::(K)?; // From Poll let _: Poll = Poll::Ready::>(Ok(K))?; // From Poll> let _: Poll> = Poll::Ready::>>(None)?; Ok(()) } fn as_poll_result() -> Poll> { // From Result let K = Ok::(K)?; // From Poll let _: Poll = Poll::Ready::>(Ok(K))?; // From Poll> let _: Poll> = Poll::Ready::>>(None)?; Poll::Ready(Ok(())) } fn as_poll_option_result() -> Poll>> { // From Result let K = Ok::(K)?; // From Poll let _: Poll = Poll::Ready::>(Ok(K))?; // From Poll> let _: Poll> = Poll::Ready::>>(None)?; Poll::Ready(Some(Ok(()))) } fn main() { }