Sha256: 5f81436d1e7c18847392c744c25c14518c41f24558861584f5ff759b147ce4eb

Contents?: true

Size: 588 Bytes

Versions: 8

Compression:

Stored size: 588 Bytes

Contents

#![warn(rust_2018_idioms)]
#![cfg(all(feature = "full", not(tokio_wasi)))] // Wasi does not support panic recovery

struct PanicsOnDrop;

impl Drop for PanicsOnDrop {
    fn drop(&mut self) {
        panic!("I told you so");
    }
}

#[tokio::test]
async fn test_panics_do_not_propagate_when_dropping_join_handle() {
    let join_handle = tokio::spawn(async move { PanicsOnDrop });

    // only drop the JoinHandle when the task has completed
    // (which is difficult to synchronize precisely)
    tokio::time::sleep(std::time::Duration::from_millis(3)).await;
    drop(join_handle);
}

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wasmtime-9.0.1 ./ext/cargo-vendor/tokio-1.28.1/tests/join_handle_panic.rs
wasmtime-8.0.0 ./ext/cargo-vendor/tokio-1.27.0/tests/join_handle_panic.rs
wasmtime-7.0.0 ./ext/cargo-vendor/tokio-1.27.0/tests/join_handle_panic.rs
wasmtime-6.0.1 ./ext/cargo-vendor/tokio-1.25.0/tests/join_handle_panic.rs
wasmtime-6.0.0 ./ext/cargo-vendor/tokio-1.25.0/tests/join_handle_panic.rs
wasmtime-5.0.0 ./ext/cargo-vendor/tokio-1.24.2/tests/join_handle_panic.rs
wasmtime-0.4.1 ./ext/cargo-vendor/tokio-1.23.0/tests/join_handle_panic.rs
wasmtime-0.4.0 ./ext/cargo-vendor/tokio-1.23.0/tests/join_handle_panic.rs