Sha256: 65f282f8351bd9a74642f2465c7aaf72ee7097002920989f156d60271652549e

Contents?: true

Size: 947 Bytes

Versions: 27

Compression:

Stored size: 947 Bytes

Contents

#![deny(unreachable_code)]

use futures::{executor::block_on, try_join};

// TODO: This abuses https://github.com/rust-lang/rust/issues/58733 in order to
// test behavior of the `try_join!` macro with the never type before it is
// stabilized. Once `!` is again stabilized this can be removed and replaced
// with direct use of `!` below where `Never` is used.
trait MyTrait {
    type Output;
}
impl<T> MyTrait for fn() -> T {
    type Output = T;
}
type Never = <fn() -> ! as MyTrait>::Output;

#[test]
fn try_join_never_error() {
    block_on(async {
        let future1 = async { Ok::<(), Never>(()) };
        let future2 = async { Ok::<(), Never>(()) };
        try_join!(future1, future2)
    })
    .unwrap();
}

#[test]
fn try_join_never_ok() {
    block_on(async {
        let future1 = async { Err::<Never, ()>(()) };
        let future2 = async { Err::<Never, ()>(()) };
        try_join!(future1, future2)
    })
    .unwrap_err();
}

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
wasmtime-30.0.2 ./ext/cargo-vendor/futures-0.3.31/tests/try_join.rs
wasmtime-29.0.0 ./ext/cargo-vendor/futures-0.3.31/tests/try_join.rs
wasmtime-28.0.0 ./ext/cargo-vendor/futures-0.3.31/tests/try_join.rs
wasmtime-27.0.0 ./ext/cargo-vendor/futures-0.3.31/tests/try_join.rs
wasmtime-26.0.0 ./ext/cargo-vendor/futures-0.3.31/tests/try_join.rs
wasmtime-25.0.2 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-25.0.1 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-25.0.0 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-24.0.0 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-23.0.2 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-22.0.0 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-21.0.1 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-20.0.2 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-20.0.0 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-18.0.3 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-17.0.1 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-17.0.0 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-16.0.0 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-15.0.1 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs
wasmtime-15.0.0 ./ext/cargo-vendor/futures-0.3.30/tests/try_join.rs