We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 4d5284a + 1376810 commit 783b081Copy full SHA for 783b081
library/std/tests/sync/mpmc.rs
@@ -63,6 +63,24 @@ fn smoke_port_gone() {
63
assert!(tx.send(1).is_err());
64
}
65
66
+#[test]
67
+fn smoke_receiver_clone() {
68
+ let (tx, rx) = channel::<i32>();
69
+ let rx2 = rx.clone();
70
+ drop(rx);
71
+ tx.send(1).unwrap();
72
+ assert_eq!(rx2.recv().unwrap(), 1);
73
+}
74
+
75
76
+fn smoke_receiver_clone_port_gone() {
77
78
79
80
+ drop(rx2);
81
+ assert!(tx.send(1).is_err());
82
83
84
#[test]
85
fn smoke_shared_port_gone() {
86
let (tx, rx) = channel::<i32>();
@@ -124,6 +142,18 @@ fn chan_gone_concurrent() {
124
142
while rx.recv().is_ok() {}
125
143
126
144
145
146
+fn receiver_cloning() {
147
148
149
150
151
+ tx.send(2).unwrap();
152
153
+ assert_eq!(rx2.recv(), Ok(1));
154
+ assert_eq!(rx.recv(), Ok(2));
155
156
127
157
128
158
fn stress() {
129
159
let count = if cfg!(miri) { 100 } else { 10000 };
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
0 commit comments