mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-09-03 00:00:05 +02:00
38 lines
1.0 KiB
Rust
38 lines
1.0 KiB
Rust
#![warn(rust_2018_idioms)]
|
|
#![cfg(all(feature = "full", not(tokio_wasi)))] // Wasi does not support panic recovery
|
|
|
|
use std::panic::{RefUnwindSafe, UnwindSafe};
|
|
|
|
#[test]
|
|
fn join_handle_is_unwind_safe() {
|
|
is_unwind_safe::<tokio::task::JoinHandle<()>>();
|
|
}
|
|
|
|
#[test]
|
|
fn net_types_are_unwind_safe() {
|
|
is_unwind_safe::<tokio::net::TcpListener>();
|
|
is_unwind_safe::<tokio::net::TcpSocket>();
|
|
is_unwind_safe::<tokio::net::TcpStream>();
|
|
is_unwind_safe::<tokio::net::UdpSocket>();
|
|
}
|
|
|
|
#[test]
|
|
#[cfg(unix)]
|
|
fn unix_net_types_are_unwind_safe() {
|
|
is_unwind_safe::<tokio::net::UnixDatagram>();
|
|
is_unwind_safe::<tokio::net::UnixListener>();
|
|
is_unwind_safe::<tokio::net::UnixStream>();
|
|
}
|
|
|
|
#[test]
|
|
#[cfg(windows)]
|
|
fn windows_net_types_are_unwind_safe() {
|
|
use tokio::net::windows::named_pipe::NamedPipeClient;
|
|
use tokio::net::windows::named_pipe::NamedPipeServer;
|
|
|
|
is_unwind_safe::<NamedPipeClient>();
|
|
is_unwind_safe::<NamedPipeServer>();
|
|
}
|
|
|
|
fn is_unwind_safe<T: UnwindSafe + RefUnwindSafe>() {}
|