@@ -11,6 +11,7 @@ use wasm_bindgen_test::wasm_bindgen_test as maybe_tokio_test;
11
11
use tokio:: test as maybe_tokio_test;
12
12
13
13
use std:: fmt;
14
+ use std:: panic;
14
15
use std:: sync:: Arc ;
15
16
use tokio:: sync:: mpsc;
16
17
use tokio:: sync:: mpsc:: error:: { TryRecvError , TrySendError } ;
@@ -22,9 +23,28 @@ mod support {
22
23
}
23
24
24
25
#[ allow( unused) ]
25
- trait AssertSend : Send { }
26
- impl AssertSend for mpsc:: Sender < i32 > { }
27
- impl AssertSend for mpsc:: Receiver < i32 > { }
26
+ trait AssertRefUnwindSafe : panic:: RefUnwindSafe { }
27
+ impl < T > AssertRefUnwindSafe for mpsc:: OwnedPermit < T > { }
28
+ impl < ' a , T > AssertRefUnwindSafe for mpsc:: Permit < ' a , T > { }
29
+ impl < ' a , T > AssertRefUnwindSafe for mpsc:: PermitIterator < ' a , T > { }
30
+ impl < T > AssertRefUnwindSafe for mpsc:: Receiver < T > { }
31
+ impl < T > AssertRefUnwindSafe for mpsc:: Sender < T > { }
32
+ impl < T > AssertRefUnwindSafe for mpsc:: UnboundedReceiver < T > { }
33
+ impl < T > AssertRefUnwindSafe for mpsc:: UnboundedSender < T > { }
34
+ impl < T > AssertRefUnwindSafe for mpsc:: WeakSender < T > { }
35
+ impl < T > AssertRefUnwindSafe for mpsc:: WeakUnboundedSender < T > { }
36
+
37
+ #[ allow( unused) ]
38
+ trait AssertUnwindSafe : panic:: UnwindSafe { }
39
+ impl < T > AssertUnwindSafe for mpsc:: OwnedPermit < T > { }
40
+ impl < ' a , T > AssertUnwindSafe for mpsc:: Permit < ' a , T > { }
41
+ impl < ' a , T > AssertUnwindSafe for mpsc:: PermitIterator < ' a , T > { }
42
+ impl < T > AssertUnwindSafe for mpsc:: Receiver < T > { }
43
+ impl < T > AssertUnwindSafe for mpsc:: Sender < T > { }
44
+ impl < T > AssertUnwindSafe for mpsc:: UnboundedReceiver < T > { }
45
+ impl < T > AssertUnwindSafe for mpsc:: UnboundedSender < T > { }
46
+ impl < T > AssertUnwindSafe for mpsc:: WeakSender < T > { }
47
+ impl < T > AssertUnwindSafe for mpsc:: WeakUnboundedSender < T > { }
28
48
29
49
#[ maybe_tokio_test]
30
50
async fn send_recv_with_buffer ( ) {
0 commit comments