crossbeam-channel/src/channel.rs
Line | Count | Source (jump to first uncovered line) |
1 | | //! The channel interface. |
2 | | |
3 | | use std::fmt; |
4 | | use std::iter::FusedIterator; |
5 | | use std::mem; |
6 | | use std::panic::{RefUnwindSafe, UnwindSafe}; |
7 | | use std::sync::Arc; |
8 | | use std::time::{Duration, Instant}; |
9 | | |
10 | | use crate::context::Context; |
11 | | use crate::counter; |
12 | | use crate::err::{ |
13 | | RecvError, RecvTimeoutError, SendError, SendTimeoutError, TryRecvError, TrySendError, |
14 | | }; |
15 | | use crate::flavors; |
16 | | use crate::select::{Operation, SelectHandle, Token}; |
17 | | |
18 | | /// Creates a channel of unbounded capacity. |
19 | | /// |
20 | | /// This channel has a growable buffer that can hold any number of messages at a time. |
21 | | /// |
22 | | /// # Examples |
23 | | /// |
24 | | /// ``` |
25 | | /// use std::thread; |
26 | | /// use crossbeam_channel::unbounded; |
27 | | /// |
28 | | /// let (s, r) = unbounded(); |
29 | | /// |
30 | | /// // Computes the n-th Fibonacci number. |
31 | | /// fn fib(n: i32) -> i32 { |
32 | | /// if n <= 1 { |
33 | | /// n |
34 | | /// } else { |
35 | | /// fib(n - 1) + fib(n - 2) |
36 | | /// } |
37 | | /// } |
38 | | /// |
39 | | /// // Spawn an asynchronous computation. |
40 | | /// thread::spawn(move || s.send(fib(20)).unwrap()); |
41 | | /// |
42 | | /// // Print the result of the computation. |
43 | | /// println!("{}", r.recv().unwrap()); |
44 | | /// ``` |
45 | 11.3k | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { |
46 | 11.3k | let (s, r) = counter::new(flavors::list::Channel::new()); |
47 | 11.3k | let s = Sender { |
48 | 11.3k | flavor: SenderFlavor::List(s), |
49 | 11.3k | }; |
50 | 11.3k | let r = Receiver { |
51 | 11.3k | flavor: ReceiverFlavor::List(r), |
52 | 11.3k | }; |
53 | 11.3k | (s, r) |
54 | 11.3k | } crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 23 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 23 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 23 | let s = Sender { | 48 | 23 | flavor: SenderFlavor::List(s), | 49 | 23 | }; | 50 | 23 | let r = Receiver { | 51 | 23 | flavor: ReceiverFlavor::List(r), | 52 | 23 | }; | 53 | 23 | (s, r) | 54 | 23 | } |
crossbeam_channel::channel::unbounded::<()> Line | Count | Source | 45 | 9 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 9 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 9 | let s = Sender { | 48 | 9 | flavor: SenderFlavor::List(s), | 49 | 9 | }; | 50 | 9 | let r = Receiver { | 51 | 9 | flavor: ReceiverFlavor::List(r), | 52 | 9 | }; | 53 | 9 | (s, r) | 54 | 9 | } |
crossbeam_channel::channel::unbounded::<usize> Line | Count | Source | 45 | 3 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 3 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 3 | let s = Sender { | 48 | 3 | flavor: SenderFlavor::List(s), | 49 | 3 | }; | 50 | 3 | let r = Receiver { | 51 | 3 | flavor: ReceiverFlavor::List(r), | 52 | 3 | }; | 53 | 3 | (s, r) | 54 | 3 | } |
crossbeam_channel::channel::unbounded::<()> Line | Count | Source | 45 | 35 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 35 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 35 | let s = Sender { | 48 | 35 | flavor: SenderFlavor::List(s), | 49 | 35 | }; | 50 | 35 | let r = Receiver { | 51 | 35 | flavor: ReceiverFlavor::List(r), | 52 | 35 | }; | 53 | 35 | (s, r) | 54 | 35 | } |
crossbeam_channel::channel::unbounded::<usize> Line | Count | Source | 45 | 2 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 2 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 2 | let s = Sender { | 48 | 2 | flavor: SenderFlavor::List(s), | 49 | 2 | }; | 50 | 2 | let r = Receiver { | 51 | 2 | flavor: ReceiverFlavor::List(r), | 52 | 2 | }; | 53 | 2 | (s, r) | 54 | 2 | } |
crossbeam_channel::channel::unbounded::<alloc::boxed::Box<i32>> Line | Count | Source | 45 | 5 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 5 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 5 | let s = Sender { | 48 | 5 | flavor: SenderFlavor::List(s), | 49 | 5 | }; | 50 | 5 | let r = Receiver { | 51 | 5 | flavor: ReceiverFlavor::List(r), | 52 | 5 | }; | 53 | 5 | (s, r) | 54 | 5 | } |
crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 59 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 59 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 59 | let s = Sender { | 48 | 59 | flavor: SenderFlavor::List(s), | 49 | 59 | }; | 50 | 59 | let r = Receiver { | 51 | 59 | flavor: ReceiverFlavor::List(r), | 52 | 59 | }; | 53 | 59 | (s, r) | 54 | 59 | } |
crossbeam_channel::channel::unbounded::<alloc::boxed::Box<isize>> Line | Count | Source | 45 | 2 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 2 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 2 | let s = Sender { | 48 | 2 | flavor: SenderFlavor::List(s), | 49 | 2 | }; | 50 | 2 | let r = Receiver { | 51 | 2 | flavor: ReceiverFlavor::List(r), | 52 | 2 | }; | 53 | 2 | (s, r) | 54 | 2 | } |
crossbeam_channel::channel::unbounded::<()> Line | Count | Source | 45 | 1 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 1 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 1 | let s = Sender { | 48 | 1 | flavor: SenderFlavor::List(s), | 49 | 1 | }; | 50 | 1 | let r = Receiver { | 51 | 1 | flavor: ReceiverFlavor::List(r), | 52 | 1 | }; | 53 | 1 | (s, r) | 54 | 1 | } |
crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 7 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 7 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 7 | let s = Sender { | 48 | 7 | flavor: SenderFlavor::List(s), | 49 | 7 | }; | 50 | 7 | let r = Receiver { | 51 | 7 | flavor: ReceiverFlavor::List(r), | 52 | 7 | }; | 53 | 7 | (s, r) | 54 | 7 | } |
crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 1 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 1 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 1 | let s = Sender { | 48 | 1 | flavor: SenderFlavor::List(s), | 49 | 1 | }; | 50 | 1 | let r = Receiver { | 51 | 1 | flavor: ReceiverFlavor::List(r), | 52 | 1 | }; | 53 | 1 | (s, r) | 54 | 1 | } |
crossbeam_channel::channel::unbounded::<usize> Line | Count | Source | 45 | 3 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 3 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 3 | let s = Sender { | 48 | 3 | flavor: SenderFlavor::List(s), | 49 | 3 | }; | 50 | 3 | let r = Receiver { | 51 | 3 | flavor: ReceiverFlavor::List(r), | 52 | 3 | }; | 53 | 3 | (s, r) | 54 | 3 | } |
crossbeam_channel::channel::unbounded::<()> Line | Count | Source | 45 | 7 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 7 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 7 | let s = Sender { | 48 | 7 | flavor: SenderFlavor::List(s), | 49 | 7 | }; | 50 | 7 | let r = Receiver { | 51 | 7 | flavor: ReceiverFlavor::List(r), | 52 | 7 | }; | 53 | 7 | (s, r) | 54 | 7 | } |
crossbeam_channel::channel::unbounded::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 45 | 1.00k | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 1.00k | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 1.00k | let s = Sender { | 48 | 1.00k | flavor: SenderFlavor::List(s), | 49 | 1.00k | }; | 50 | 1.00k | let r = Receiver { | 51 | 1.00k | flavor: ReceiverFlavor::List(r), | 52 | 1.00k | }; | 53 | 1.00k | (s, r) | 54 | 1.00k | } |
crossbeam_channel::channel::unbounded::<list::drops::DropCounter> Line | Count | Source | 45 | 100 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 100 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 100 | let s = Sender { | 48 | 100 | flavor: SenderFlavor::List(s), | 49 | 100 | }; | 50 | 100 | let r = Receiver { | 51 | 100 | flavor: ReceiverFlavor::List(r), | 52 | 100 | }; | 53 | 100 | (s, r) | 54 | 100 | } |
crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 10.0k | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 10.0k | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 10.0k | let s = Sender { | 48 | 10.0k | flavor: SenderFlavor::List(s), | 49 | 10.0k | }; | 50 | 10.0k | let r = Receiver { | 51 | 10.0k | flavor: ReceiverFlavor::List(r), | 52 | 10.0k | }; | 53 | 10.0k | (s, r) | 54 | 10.0k | } |
crossbeam_channel::channel::unbounded::<usize> Line | Count | Source | 45 | 5 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 5 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 5 | let s = Sender { | 48 | 5 | flavor: SenderFlavor::List(s), | 49 | 5 | }; | 50 | 5 | let r = Receiver { | 51 | 5 | flavor: ReceiverFlavor::List(r), | 52 | 5 | }; | 53 | 5 | (s, r) | 54 | 5 | } |
crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 2 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 2 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 2 | let s = Sender { | 48 | 2 | flavor: SenderFlavor::List(s), | 49 | 2 | }; | 50 | 2 | let r = Receiver { | 51 | 2 | flavor: ReceiverFlavor::List(r), | 52 | 2 | }; | 53 | 2 | (s, r) | 54 | 2 | } |
crossbeam_channel::channel::unbounded::<usize> Line | Count | Source | 45 | 3 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 3 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 3 | let s = Sender { | 48 | 3 | flavor: SenderFlavor::List(s), | 49 | 3 | }; | 50 | 3 | let r = Receiver { | 51 | 3 | flavor: ReceiverFlavor::List(r), | 52 | 3 | }; | 53 | 3 | (s, r) | 54 | 3 | } |
crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 33 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 33 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 33 | let s = Sender { | 48 | 33 | flavor: SenderFlavor::List(s), | 49 | 33 | }; | 50 | 33 | let r = Receiver { | 51 | 33 | flavor: ReceiverFlavor::List(r), | 52 | 33 | }; | 53 | 33 | (s, r) | 54 | 33 | } |
crossbeam_channel::channel::unbounded::<()> Line | Count | Source | 45 | 13 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 13 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 13 | let s = Sender { | 48 | 13 | flavor: SenderFlavor::List(s), | 49 | 13 | }; | 50 | 13 | let r = Receiver { | 51 | 13 | flavor: ReceiverFlavor::List(r), | 52 | 13 | }; | 53 | 13 | (s, r) | 54 | 13 | } |
crossbeam_channel::channel::unbounded::<()> Line | Count | Source | 45 | 9 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 9 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 9 | let s = Sender { | 48 | 9 | flavor: SenderFlavor::List(s), | 49 | 9 | }; | 50 | 9 | let r = Receiver { | 51 | 9 | flavor: ReceiverFlavor::List(r), | 52 | 9 | }; | 53 | 9 | (s, r) | 54 | 9 | } |
crossbeam_channel::channel::unbounded::<usize> Line | Count | Source | 45 | 3 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 3 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 3 | let s = Sender { | 48 | 3 | flavor: SenderFlavor::List(s), | 49 | 3 | }; | 50 | 3 | let r = Receiver { | 51 | 3 | flavor: ReceiverFlavor::List(r), | 52 | 3 | }; | 53 | 3 | (s, r) | 54 | 3 | } |
crossbeam_channel::channel::unbounded::<i32> Line | Count | Source | 45 | 19 | pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) { | 46 | 19 | let (s, r) = counter::new(flavors::list::Channel::new()); | 47 | 19 | let s = Sender { | 48 | 19 | flavor: SenderFlavor::List(s), | 49 | 19 | }; | 50 | 19 | let r = Receiver { | 51 | 19 | flavor: ReceiverFlavor::List(r), | 52 | 19 | }; | 53 | 19 | (s, r) | 54 | 19 | } |
|
55 | | |
56 | | /// Creates a channel of bounded capacity. |
57 | | /// |
58 | | /// This channel has a buffer that can hold at most `cap` messages at a time. |
59 | | /// |
60 | | /// A special case is zero-capacity channel, which cannot hold any messages. Instead, send and |
61 | | /// receive operations must appear at the same time in order to pair up and pass the message over. |
62 | | /// |
63 | | /// # Examples |
64 | | /// |
65 | | /// A channel of capacity 1: |
66 | | /// |
67 | | /// ``` |
68 | | /// use std::thread; |
69 | | /// use std::time::Duration; |
70 | | /// use crossbeam_channel::bounded; |
71 | | /// |
72 | | /// let (s, r) = bounded(1); |
73 | | /// |
74 | | /// // This call returns immediately because there is enough space in the channel. |
75 | | /// s.send(1).unwrap(); |
76 | | /// |
77 | | /// thread::spawn(move || { |
78 | | /// // This call blocks the current thread because the channel is full. |
79 | | /// // It will be able to complete only after the first message is received. |
80 | | /// s.send(2).unwrap(); |
81 | | /// }); |
82 | | /// |
83 | | /// thread::sleep(Duration::from_secs(1)); |
84 | | /// assert_eq!(r.recv(), Ok(1)); |
85 | | /// assert_eq!(r.recv(), Ok(2)); |
86 | | /// ``` |
87 | | /// |
88 | | /// A zero-capacity channel: |
89 | | /// |
90 | | /// ``` |
91 | | /// use std::thread; |
92 | | /// use std::time::Duration; |
93 | | /// use crossbeam_channel::bounded; |
94 | | /// |
95 | | /// let (s, r) = bounded(0); |
96 | | /// |
97 | | /// thread::spawn(move || { |
98 | | /// // This call blocks the current thread until a receive operation appears |
99 | | /// // on the other side of the channel. |
100 | | /// s.send(1).unwrap(); |
101 | | /// }); |
102 | | /// |
103 | | /// thread::sleep(Duration::from_secs(1)); |
104 | | /// assert_eq!(r.recv(), Ok(1)); |
105 | | /// ``` |
106 | 38.3k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { |
107 | 38.3k | if cap == 0 { |
108 | 4.80k | let (s, r) = counter::new(flavors::zero::Channel::new()); |
109 | 4.80k | let s = Sender { |
110 | 4.80k | flavor: SenderFlavor::Zero(s), |
111 | 4.80k | }; |
112 | 4.80k | let r = Receiver { |
113 | 4.80k | flavor: ReceiverFlavor::Zero(r), |
114 | 4.80k | }; |
115 | 4.80k | (s, r) |
116 | | } else { |
117 | 33.5k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); |
118 | 33.5k | let s = Sender { |
119 | 33.5k | flavor: SenderFlavor::Array(s), |
120 | 33.5k | }; |
121 | 33.5k | let r = Receiver { |
122 | 33.5k | flavor: ReceiverFlavor::Array(r), |
123 | 33.5k | }; |
124 | 33.5k | (s, r) |
125 | | } |
126 | 38.3k | } crossbeam_channel::channel::bounded::<usize> Line | Count | Source | 106 | 5 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 5 | if cap == 0 { | 108 | 5 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 5 | let s = Sender { | 110 | 5 | flavor: SenderFlavor::Zero(s), | 111 | 5 | }; | 112 | 5 | let r = Receiver { | 113 | 5 | flavor: ReceiverFlavor::Zero(r), | 114 | 5 | }; | 115 | 5 | (s, r) | 116 | | } else { | 117 | 0 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 0 | let s = Sender { | 119 | 0 | flavor: SenderFlavor::Array(s), | 120 | 0 | }; | 121 | 0 | let r = Receiver { | 122 | 0 | flavor: ReceiverFlavor::Array(r), | 123 | 0 | }; | 124 | 0 | (s, r) | 125 | | } | 126 | 5 | } |
crossbeam_channel::channel::bounded::<zero::drops::DropCounter> Line | Count | Source | 106 | 100 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 100 | if cap == 0 { | 108 | 100 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 100 | let s = Sender { | 110 | 100 | flavor: SenderFlavor::Zero(s), | 111 | 100 | }; | 112 | 100 | let r = Receiver { | 113 | 100 | flavor: ReceiverFlavor::Zero(r), | 114 | 100 | }; | 115 | 100 | (s, r) | 116 | | } else { | 117 | 0 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 0 | let s = Sender { | 119 | 0 | flavor: SenderFlavor::Array(s), | 120 | 0 | }; | 121 | 0 | let r = Receiver { | 122 | 0 | flavor: ReceiverFlavor::Array(r), | 123 | 0 | }; | 124 | 0 | (s, r) | 125 | | } | 126 | 100 | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 10.0k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 10.0k | if cap == 0 { | 108 | 8 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 8 | let s = Sender { | 110 | 8 | flavor: SenderFlavor::Zero(s), | 111 | 8 | }; | 112 | 8 | let r = Receiver { | 113 | 8 | flavor: ReceiverFlavor::Zero(r), | 114 | 8 | }; | 115 | 8 | (s, r) | 116 | | } else { | 117 | 10.0k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 10.0k | let s = Sender { | 119 | 10.0k | flavor: SenderFlavor::Array(s), | 120 | 10.0k | }; | 121 | 10.0k | let r = Receiver { | 122 | 10.0k | flavor: ReceiverFlavor::Array(r), | 123 | 10.0k | }; | 124 | 10.0k | (s, r) | 125 | | } | 126 | 10.0k | } |
crossbeam_channel::channel::bounded::<()> Line | Count | Source | 106 | 5 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 5 | if cap == 0 { | 108 | 6 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 6 | let s = Sender { | 110 | 6 | flavor: SenderFlavor::Zero(s), | 111 | 6 | }; | 112 | 6 | let r = Receiver { | 113 | 6 | flavor: ReceiverFlavor::Zero(r), | 114 | 6 | }; | 115 | 6 | (s, r) | 116 | | } else { | 117 | 18.4E | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 18.4E | let s = Sender { | 119 | 18.4E | flavor: SenderFlavor::Array(s), | 120 | 18.4E | }; | 121 | 18.4E | let r = Receiver { | 122 | 18.4E | flavor: ReceiverFlavor::Array(r), | 123 | 18.4E | }; | 124 | 18.4E | (s, r) | 125 | | } | 126 | 5 | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 106 | 1.00k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1.00k | if cap == 0 { | 108 | 1.00k | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1.00k | let s = Sender { | 110 | 1.00k | flavor: SenderFlavor::Zero(s), | 111 | 1.00k | }; | 112 | 1.00k | let r = Receiver { | 113 | 1.00k | flavor: ReceiverFlavor::Zero(r), | 114 | 1.00k | }; | 115 | 1.00k | (s, r) | 116 | | } else { | 117 | 0 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 0 | let s = Sender { | 119 | 0 | flavor: SenderFlavor::Array(s), | 120 | 0 | }; | 121 | 0 | let r = Receiver { | 122 | 0 | flavor: ReceiverFlavor::Array(r), | 123 | 0 | }; | 124 | 0 | (s, r) | 125 | | } | 126 | 1.00k | } |
crossbeam_channel::channel::bounded::<()> Line | Count | Source | 106 | 35 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 35 | if cap == 0 { | 108 | 29 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 29 | let s = Sender { | 110 | 29 | flavor: SenderFlavor::Zero(s), | 111 | 29 | }; | 112 | 29 | let r = Receiver { | 113 | 29 | flavor: ReceiverFlavor::Zero(r), | 114 | 29 | }; | 115 | 29 | (s, r) | 116 | | } else { | 117 | 6 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 6 | let s = Sender { | 119 | 6 | flavor: SenderFlavor::Array(s), | 120 | 6 | }; | 121 | 6 | let r = Receiver { | 122 | 6 | flavor: ReceiverFlavor::Array(r), | 123 | 6 | }; | 124 | 6 | (s, r) | 125 | | } | 126 | 35 | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 106 | 3.00k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 3.00k | if cap == 0 { | 108 | 1.00k | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1.00k | let s = Sender { | 110 | 1.00k | flavor: SenderFlavor::Zero(s), | 111 | 1.00k | }; | 112 | 1.00k | let r = Receiver { | 113 | 1.00k | flavor: ReceiverFlavor::Zero(r), | 114 | 1.00k | }; | 115 | 1.00k | (s, r) | 116 | | } else { | 117 | 2.00k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 2.00k | let s = Sender { | 119 | 2.00k | flavor: SenderFlavor::Array(s), | 120 | 2.00k | }; | 121 | 2.00k | let r = Receiver { | 122 | 2.00k | flavor: ReceiverFlavor::Array(r), | 123 | 2.00k | }; | 124 | 2.00k | (s, r) | 125 | | } | 126 | 3.00k | } |
crossbeam_channel::channel::bounded::<usize> Line | Count | Source | 106 | 12 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 12 | if cap == 0 { | 108 | 10 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 10 | let s = Sender { | 110 | 10 | flavor: SenderFlavor::Zero(s), | 111 | 10 | }; | 112 | 10 | let r = Receiver { | 113 | 10 | flavor: ReceiverFlavor::Zero(r), | 114 | 10 | }; | 115 | 10 | (s, r) | 116 | | } else { | 117 | 2 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 2 | let s = Sender { | 119 | 2 | flavor: SenderFlavor::Array(s), | 120 | 2 | }; | 121 | 2 | let r = Receiver { | 122 | 2 | flavor: ReceiverFlavor::Array(r), | 123 | 2 | }; | 124 | 2 | (s, r) | 125 | | } | 126 | 12 | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 51 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 51 | if cap == 0 { | 108 | 47 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 47 | let s = Sender { | 110 | 47 | flavor: SenderFlavor::Zero(s), | 111 | 47 | }; | 112 | 47 | let r = Receiver { | 113 | 47 | flavor: ReceiverFlavor::Zero(r), | 114 | 47 | }; | 115 | 47 | (s, r) | 116 | | } else { | 117 | 4 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 4 | let s = Sender { | 119 | 4 | flavor: SenderFlavor::Array(s), | 120 | 4 | }; | 121 | 4 | let r = Receiver { | 122 | 4 | flavor: ReceiverFlavor::Array(r), | 123 | 4 | }; | 124 | 4 | (s, r) | 125 | | } | 126 | 51 | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 44 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 44 | if cap == 0 { | 108 | 31 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 31 | let s = Sender { | 110 | 31 | flavor: SenderFlavor::Zero(s), | 111 | 31 | }; | 112 | 31 | let r = Receiver { | 113 | 31 | flavor: ReceiverFlavor::Zero(r), | 114 | 31 | }; | 115 | 31 | (s, r) | 116 | | } else { | 117 | 13 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 13 | let s = Sender { | 119 | 13 | flavor: SenderFlavor::Array(s), | 120 | 13 | }; | 121 | 13 | let r = Receiver { | 122 | 13 | flavor: ReceiverFlavor::Array(r), | 123 | 13 | }; | 124 | 13 | (s, r) | 125 | | } | 126 | 44 | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<isize>> Line | Count | Source | 106 | 1 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1 | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 1 | } |
crossbeam_channel::channel::bounded::<()> Line | Count | Source | 106 | 209 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 209 | if cap == 0 { | 108 | 6 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 6 | let s = Sender { | 110 | 6 | flavor: SenderFlavor::Zero(s), | 111 | 6 | }; | 112 | 6 | let r = Receiver { | 113 | 6 | flavor: ReceiverFlavor::Zero(r), | 114 | 6 | }; | 115 | 6 | (s, r) | 116 | | } else { | 117 | 203 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 203 | let s = Sender { | 119 | 203 | flavor: SenderFlavor::Array(s), | 120 | 203 | }; | 121 | 203 | let r = Receiver { | 122 | 203 | flavor: ReceiverFlavor::Array(r), | 123 | 203 | }; | 124 | 203 | (s, r) | 125 | | } | 126 | 209 | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<i32>> Line | Count | Source | 106 | 6 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 6 | if cap == 0 { | 108 | 5 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 5 | let s = Sender { | 110 | 5 | flavor: SenderFlavor::Zero(s), | 111 | 5 | }; | 112 | 5 | let r = Receiver { | 113 | 5 | flavor: ReceiverFlavor::Zero(r), | 114 | 5 | }; | 115 | 5 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 6 | } |
crossbeam_channel::channel::bounded::<()> Line | Count | Source | 106 | 18 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 18 | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 18 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 18 | let s = Sender { | 119 | 18 | flavor: SenderFlavor::Array(s), | 120 | 18 | }; | 121 | 18 | let r = Receiver { | 122 | 18 | flavor: ReceiverFlavor::Array(r), | 123 | 18 | }; | 124 | 18 | (s, r) | 125 | | } | 126 | 18 | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 10.0k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 10.0k | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 10.0k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 10.0k | let s = Sender { | 119 | 10.0k | flavor: SenderFlavor::Array(s), | 120 | 10.0k | }; | 121 | 10.0k | let r = Receiver { | 122 | 10.0k | flavor: ReceiverFlavor::Array(r), | 123 | 10.0k | }; | 124 | 10.0k | (s, r) | 125 | | } | 126 | 10.0k | } |
crossbeam_channel::channel::bounded::<array::drops::DropCounter> Line | Count | Source | 106 | 100 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 100 | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 100 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 100 | let s = Sender { | 119 | 100 | flavor: SenderFlavor::Array(s), | 120 | 100 | }; | 121 | 100 | let r = Receiver { | 122 | 100 | flavor: ReceiverFlavor::Array(r), | 123 | 100 | }; | 124 | 100 | (s, r) | 125 | | } | 126 | 100 | } |
crossbeam_channel::channel::bounded::<usize> Line | Count | Source | 106 | 5 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 5 | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 5 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 5 | let s = Sender { | 119 | 5 | flavor: SenderFlavor::Array(s), | 120 | 5 | }; | 121 | 5 | let r = Receiver { | 122 | 5 | flavor: ReceiverFlavor::Array(r), | 123 | 5 | }; | 124 | 5 | (s, r) | 125 | | } | 126 | 5 | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 106 | 1.00k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1.00k | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 1.00k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1.00k | let s = Sender { | 119 | 1.00k | flavor: SenderFlavor::Array(s), | 120 | 1.00k | }; | 121 | 1.00k | let r = Receiver { | 122 | 1.00k | flavor: ReceiverFlavor::Array(r), | 123 | 1.00k | }; | 124 | 1.00k | (s, r) | 125 | | } | 126 | 1.00k | } |
crossbeam_channel::channel::bounded::<usize> Line | Count | Source | 106 | 4 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 4 | if cap == 0 { | 108 | 3 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 3 | let s = Sender { | 110 | 3 | flavor: SenderFlavor::Zero(s), | 111 | 3 | }; | 112 | 3 | let r = Receiver { | 113 | 3 | flavor: ReceiverFlavor::Zero(r), | 114 | 3 | }; | 115 | 3 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 4 | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 1 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1 | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 1 | } |
crossbeam_channel::channel::bounded::<usize> Line | Count | Source | 106 | 1 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1 | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 1 | } |
crossbeam_channel::channel::bounded::<[u8; 0]> Line | Count | Source | 106 | 1 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1 | if cap == 0 { | 108 | 1 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1 | let s = Sender { | 110 | 1 | flavor: SenderFlavor::Zero(s), | 111 | 1 | }; | 112 | 1 | let r = Receiver { | 113 | 1 | flavor: ReceiverFlavor::Zero(r), | 114 | 1 | }; | 115 | 1 | (s, r) | 116 | | } else { | 117 | 0 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 0 | let s = Sender { | 119 | 0 | flavor: SenderFlavor::Array(s), | 120 | 0 | }; | 121 | 0 | let r = Receiver { | 122 | 0 | flavor: ReceiverFlavor::Array(r), | 123 | 0 | }; | 124 | 0 | (s, r) | 125 | | } | 126 | 1 | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 6.27k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 6.27k | if cap == 0 { | 108 | 1.13k | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1.13k | let s = Sender { | 110 | 1.13k | flavor: SenderFlavor::Zero(s), | 111 | 1.13k | }; | 112 | 1.13k | let r = Receiver { | 113 | 1.13k | flavor: ReceiverFlavor::Zero(r), | 114 | 1.13k | }; | 115 | 1.13k | (s, r) | 116 | | } else { | 117 | 5.14k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 5.14k | let s = Sender { | 119 | 5.14k | flavor: SenderFlavor::Array(s), | 120 | 5.14k | }; | 121 | 5.14k | let r = Receiver { | 122 | 5.14k | flavor: ReceiverFlavor::Array(r), | 123 | 5.14k | }; | 124 | 5.14k | (s, r) | 125 | | } | 126 | 6.27k | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<dyn core::any::Any>> Line | Count | Source | 106 | 1 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1 | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 1 | } |
crossbeam_channel::channel::bounded::<alloc::string::String> Line | Count | Source | 106 | 2 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 2 | if cap == 0 { | 108 | 1 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1 | let s = Sender { | 110 | 1 | flavor: SenderFlavor::Zero(s), | 111 | 1 | }; | 112 | 1 | let r = Receiver { | 113 | 1 | flavor: ReceiverFlavor::Zero(r), | 114 | 1 | }; | 115 | 1 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 2 | } |
crossbeam_channel::channel::bounded::<golang::zerosize::zero_size_struct::ZeroSize> Line | Count | Source | 106 | 1 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 1 | if cap == 0 { | 108 | 1 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1 | let s = Sender { | 110 | 1 | flavor: SenderFlavor::Zero(s), | 111 | 1 | }; | 112 | 1 | let r = Receiver { | 113 | 1 | flavor: ReceiverFlavor::Zero(r), | 114 | 1 | }; | 115 | 1 | (s, r) | 116 | | } else { | 117 | 0 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 0 | let s = Sender { | 119 | 0 | flavor: SenderFlavor::Array(s), | 120 | 0 | }; | 121 | 0 | let r = Receiver { | 122 | 0 | flavor: ReceiverFlavor::Array(r), | 123 | 0 | }; | 124 | 0 | (s, r) | 125 | | } | 126 | 1 | } |
crossbeam_channel::channel::bounded::<u32> Line | Count | Source | 106 | 4 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 4 | if cap == 0 { | 108 | 2 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 2 | let s = Sender { | 110 | 2 | flavor: SenderFlavor::Zero(s), | 111 | 2 | }; | 112 | 2 | let r = Receiver { | 113 | 2 | flavor: ReceiverFlavor::Zero(r), | 114 | 2 | }; | 115 | 2 | (s, r) | 116 | | } else { | 117 | 2 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 2 | let s = Sender { | 119 | 2 | flavor: SenderFlavor::Array(s), | 120 | 2 | }; | 121 | 2 | let r = Receiver { | 122 | 2 | flavor: ReceiverFlavor::Array(r), | 123 | 2 | }; | 124 | 2 | (s, r) | 125 | | } | 126 | 4 | } |
crossbeam_channel::channel::bounded::<i64> Line | Count | Source | 106 | 2 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 2 | if cap == 0 { | 108 | 1 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1 | let s = Sender { | 110 | 1 | flavor: SenderFlavor::Zero(s), | 111 | 1 | }; | 112 | 1 | let r = Receiver { | 113 | 1 | flavor: ReceiverFlavor::Zero(r), | 114 | 1 | }; | 115 | 1 | (s, r) | 116 | | } else { | 117 | 1 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 1 | let s = Sender { | 119 | 1 | flavor: SenderFlavor::Array(s), | 120 | 1 | }; | 121 | 1 | let r = Receiver { | 122 | 1 | flavor: ReceiverFlavor::Array(r), | 123 | 1 | }; | 124 | 1 | (s, r) | 125 | | } | 126 | 2 | } |
crossbeam_channel::channel::bounded::<bool> Line | Count | Source | 106 | 309 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 309 | if cap == 0 { | 108 | 306 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 306 | let s = Sender { | 110 | 306 | flavor: SenderFlavor::Zero(s), | 111 | 306 | }; | 112 | 306 | let r = Receiver { | 113 | 306 | flavor: ReceiverFlavor::Zero(r), | 114 | 306 | }; | 115 | 306 | (s, r) | 116 | | } else { | 117 | 3 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 3 | let s = Sender { | 119 | 3 | flavor: SenderFlavor::Array(s), | 120 | 3 | }; | 121 | 3 | let r = Receiver { | 122 | 3 | flavor: ReceiverFlavor::Array(r), | 123 | 3 | }; | 124 | 3 | (s, r) | 125 | | } | 126 | 309 | } |
crossbeam_channel::channel::bounded::<u8> Line | Count | Source | 106 | 6 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 6 | if cap == 0 { | 108 | 4 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 4 | let s = Sender { | 110 | 4 | flavor: SenderFlavor::Zero(s), | 111 | 4 | }; | 112 | 4 | let r = Receiver { | 113 | 4 | flavor: ReceiverFlavor::Zero(r), | 114 | 4 | }; | 115 | 4 | (s, r) | 116 | | } else { | 117 | 2 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 2 | let s = Sender { | 119 | 2 | flavor: SenderFlavor::Array(s), | 120 | 2 | }; | 121 | 2 | let r = Receiver { | 122 | 2 | flavor: ReceiverFlavor::Array(r), | 123 | 2 | }; | 124 | 2 | (s, r) | 125 | | } | 126 | 6 | } |
crossbeam_channel::channel::bounded::<usize> Line | Count | Source | 106 | 8 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 8 | if cap == 0 { | 108 | 6 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 6 | let s = Sender { | 110 | 6 | flavor: SenderFlavor::Zero(s), | 111 | 6 | }; | 112 | 6 | let r = Receiver { | 113 | 6 | flavor: ReceiverFlavor::Zero(r), | 114 | 6 | }; | 115 | 6 | (s, r) | 116 | | } else { | 117 | 2 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 2 | let s = Sender { | 119 | 2 | flavor: SenderFlavor::Array(s), | 120 | 2 | }; | 121 | 2 | let r = Receiver { | 122 | 2 | flavor: ReceiverFlavor::Array(r), | 123 | 2 | }; | 124 | 2 | (s, r) | 125 | | } | 126 | 8 | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 106 | 3.00k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 3.00k | if cap == 0 { | 108 | 1.00k | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 1.00k | let s = Sender { | 110 | 1.00k | flavor: SenderFlavor::Zero(s), | 111 | 1.00k | }; | 112 | 1.00k | let r = Receiver { | 113 | 1.00k | flavor: ReceiverFlavor::Zero(r), | 114 | 1.00k | }; | 115 | 1.00k | (s, r) | 116 | | } else { | 117 | 2.00k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 2.00k | let s = Sender { | 119 | 2.00k | flavor: SenderFlavor::Array(s), | 120 | 2.00k | }; | 121 | 2.00k | let r = Receiver { | 122 | 2.00k | flavor: ReceiverFlavor::Array(r), | 123 | 2.00k | }; | 124 | 2.00k | (s, r) | 125 | | } | 126 | 3.00k | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 61 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 61 | if cap == 0 { | 108 | 57 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 57 | let s = Sender { | 110 | 57 | flavor: SenderFlavor::Zero(s), | 111 | 57 | }; | 112 | 57 | let r = Receiver { | 113 | 57 | flavor: ReceiverFlavor::Zero(r), | 114 | 57 | }; | 115 | 57 | (s, r) | 116 | | } else { | 117 | 4 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 4 | let s = Sender { | 119 | 4 | flavor: SenderFlavor::Array(s), | 120 | 4 | }; | 121 | 4 | let r = Receiver { | 122 | 4 | flavor: ReceiverFlavor::Array(r), | 123 | 4 | }; | 124 | 4 | (s, r) | 125 | | } | 126 | 61 | } |
crossbeam_channel::channel::bounded::<()> Line | Count | Source | 106 | 39 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 39 | if cap == 0 { | 108 | 32 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 32 | let s = Sender { | 110 | 32 | flavor: SenderFlavor::Zero(s), | 111 | 32 | }; | 112 | 32 | let r = Receiver { | 113 | 32 | flavor: ReceiverFlavor::Zero(r), | 114 | 32 | }; | 115 | 32 | (s, r) | 116 | | } else { | 117 | 7 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 7 | let s = Sender { | 119 | 7 | flavor: SenderFlavor::Array(s), | 120 | 7 | }; | 121 | 7 | let r = Receiver { | 122 | 7 | flavor: ReceiverFlavor::Array(r), | 123 | 7 | }; | 124 | 7 | (s, r) | 125 | | } | 126 | 39 | } |
crossbeam_channel::channel::bounded::<()> Line | Count | Source | 106 | 6 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 6 | if cap == 0 { | 108 | 2 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 2 | let s = Sender { | 110 | 2 | flavor: SenderFlavor::Zero(s), | 111 | 2 | }; | 112 | 2 | let r = Receiver { | 113 | 2 | flavor: ReceiverFlavor::Zero(r), | 114 | 2 | }; | 115 | 2 | (s, r) | 116 | | } else { | 117 | 4 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 4 | let s = Sender { | 119 | 4 | flavor: SenderFlavor::Array(s), | 120 | 4 | }; | 121 | 4 | let r = Receiver { | 122 | 4 | flavor: ReceiverFlavor::Array(r), | 123 | 4 | }; | 124 | 4 | (s, r) | 125 | | } | 126 | 6 | } |
crossbeam_channel::channel::bounded::<usize> Line | Count | Source | 106 | 6 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 6 | if cap == 0 { | 108 | 4 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 4 | let s = Sender { | 110 | 4 | flavor: SenderFlavor::Zero(s), | 111 | 4 | }; | 112 | 4 | let r = Receiver { | 113 | 4 | flavor: ReceiverFlavor::Zero(r), | 114 | 4 | }; | 115 | 4 | (s, r) | 116 | | } else { | 117 | 2 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 2 | let s = Sender { | 119 | 2 | flavor: SenderFlavor::Array(s), | 120 | 2 | }; | 121 | 2 | let r = Receiver { | 122 | 2 | flavor: ReceiverFlavor::Array(r), | 123 | 2 | }; | 124 | 2 | (s, r) | 125 | | } | 126 | 6 | } |
crossbeam_channel::channel::bounded::<i32> Line | Count | Source | 106 | 7 | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 7 | if cap == 0 { | 108 | 7 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 7 | let s = Sender { | 110 | 7 | flavor: SenderFlavor::Zero(s), | 111 | 7 | }; | 112 | 7 | let r = Receiver { | 113 | 7 | flavor: ReceiverFlavor::Zero(r), | 114 | 7 | }; | 115 | 7 | (s, r) | 116 | | } else { | 117 | 0 | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 0 | let s = Sender { | 119 | 0 | flavor: SenderFlavor::Array(s), | 120 | 0 | }; | 121 | 0 | let r = Receiver { | 122 | 0 | flavor: ReceiverFlavor::Array(r), | 123 | 0 | }; | 124 | 0 | (s, r) | 125 | | } | 126 | 7 | } |
crossbeam_channel::channel::bounded::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 106 | 3.00k | pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) { | 107 | 3.00k | if cap == 0 { | 108 | 0 | let (s, r) = counter::new(flavors::zero::Channel::new()); | 109 | 0 | let s = Sender { | 110 | 0 | flavor: SenderFlavor::Zero(s), | 111 | 0 | }; | 112 | 0 | let r = Receiver { | 113 | 0 | flavor: ReceiverFlavor::Zero(r), | 114 | 0 | }; | 115 | 0 | (s, r) | 116 | | } else { | 117 | 3.00k | let (s, r) = counter::new(flavors::array::Channel::with_capacity(cap)); | 118 | 3.00k | let s = Sender { | 119 | 3.00k | flavor: SenderFlavor::Array(s), | 120 | 3.00k | }; | 121 | 3.00k | let r = Receiver { | 122 | 3.00k | flavor: ReceiverFlavor::Array(r), | 123 | 3.00k | }; | 124 | 3.00k | (s, r) | 125 | | } | 126 | 3.00k | } |
|
127 | | |
128 | | /// Creates a receiver that delivers a message after a certain duration of time. |
129 | | /// |
130 | | /// The channel is bounded with capacity of 1 and never gets disconnected. Exactly one message will |
131 | | /// be sent into the channel after `duration` elapses. The message is the instant at which it is |
132 | | /// sent. |
133 | | /// |
134 | | /// # Examples |
135 | | /// |
136 | | /// Using an `after` channel for timeouts: |
137 | | /// |
138 | | /// ``` |
139 | | /// use std::time::Duration; |
140 | | /// use crossbeam_channel::{after, select, unbounded}; |
141 | | /// |
142 | | /// let (s, r) = unbounded::<i32>(); |
143 | | /// let timeout = Duration::from_millis(100); |
144 | | /// |
145 | | /// select! { |
146 | | /// recv(r) -> msg => println!("received {:?}", msg), |
147 | | /// recv(after(timeout)) -> _ => println!("timed out"), |
148 | | /// } |
149 | | /// ``` |
150 | | /// |
151 | | /// When the message gets sent: |
152 | | /// |
153 | | /// ``` |
154 | | /// use std::thread; |
155 | | /// use std::time::{Duration, Instant}; |
156 | | /// use crossbeam_channel::after; |
157 | | /// |
158 | | /// // Converts a number of milliseconds into a `Duration`. |
159 | | /// let ms = |ms| Duration::from_millis(ms); |
160 | | /// |
161 | | /// // Returns `true` if `a` and `b` are very close `Instant`s. |
162 | | /// let eq = |a, b| a + ms(50) > b && b + ms(50) > a; |
163 | | /// |
164 | | /// let start = Instant::now(); |
165 | | /// let r = after(ms(100)); |
166 | | /// |
167 | | /// thread::sleep(ms(500)); |
168 | | /// |
169 | | /// // This message was sent 100 ms from the start and received 500 ms from the start. |
170 | | /// assert!(eq(r.recv().unwrap(), start + ms(100))); |
171 | | /// assert!(eq(Instant::now(), start + ms(500))); |
172 | | /// ``` |
173 | 40.6k | pub fn after(duration: Duration) -> Receiver<Instant> { |
174 | 40.6k | Receiver { |
175 | 40.6k | flavor: ReceiverFlavor::At(Arc::new(flavors::at::Channel::new_timeout(duration))), |
176 | 40.6k | } |
177 | 40.6k | } |
178 | | |
179 | | /// Creates a receiver that delivers a message at a certain instant in time. |
180 | | /// |
181 | | /// The channel is bounded with capacity of 1 and never gets disconnected. Exactly one message will |
182 | | /// be sent into the channel at the moment in time `when`. The message is the instant at which it |
183 | | /// is sent, which is the same as `when`. If `when` is in the past, the message will be delivered |
184 | | /// instantly to the receiver. |
185 | | /// |
186 | | /// # Examples |
187 | | /// |
188 | | /// Using an `at` channel for timeouts: |
189 | | /// |
190 | | /// ``` |
191 | | /// use std::time::{Instant, Duration}; |
192 | | /// use crossbeam_channel::{at, select, unbounded}; |
193 | | /// |
194 | | /// let (s, r) = unbounded::<i32>(); |
195 | | /// let deadline = Instant::now() + Duration::from_millis(500); |
196 | | /// |
197 | | /// select! { |
198 | | /// recv(r) -> msg => println!("received {:?}", msg), |
199 | | /// recv(at(deadline)) -> _ => println!("timed out"), |
200 | | /// } |
201 | | /// ``` |
202 | | /// |
203 | | /// When the message gets sent: |
204 | | /// |
205 | | /// ``` |
206 | | /// use std::time::{Duration, Instant}; |
207 | | /// use crossbeam_channel::at; |
208 | | /// |
209 | | /// // Converts a number of milliseconds into a `Duration`. |
210 | | /// let ms = |ms| Duration::from_millis(ms); |
211 | | /// |
212 | | /// let start = Instant::now(); |
213 | | /// let end = start + ms(100); |
214 | | /// |
215 | | /// let r = at(end); |
216 | | /// |
217 | | /// // This message was sent 100 ms from the start |
218 | | /// assert_eq!(r.recv().unwrap(), end); |
219 | | /// assert!(Instant::now() > start + ms(100)); |
220 | | /// ``` |
221 | 2 | pub fn at(when: Instant) -> Receiver<Instant> { |
222 | 2 | Receiver { |
223 | 2 | flavor: ReceiverFlavor::At(Arc::new(flavors::at::Channel::new_deadline(when))), |
224 | 2 | } |
225 | 2 | } |
226 | | |
227 | | /// Creates a receiver that never delivers messages. |
228 | | /// |
229 | | /// The channel is bounded with capacity of 0 and never gets disconnected. |
230 | | /// |
231 | | /// # Examples |
232 | | /// |
233 | | /// Using a `never` channel to optionally add a timeout to [`select!`]: |
234 | | /// |
235 | | /// ``` |
236 | | /// use std::thread; |
237 | | /// use std::time::Duration; |
238 | | /// use crossbeam_channel::{after, select, never, unbounded}; |
239 | | /// |
240 | | /// let (s, r) = unbounded(); |
241 | | /// |
242 | | /// thread::spawn(move || { |
243 | | /// thread::sleep(Duration::from_secs(1)); |
244 | | /// s.send(1).unwrap(); |
245 | | /// }); |
246 | | /// |
247 | | /// // Suppose this duration can be a `Some` or a `None`. |
248 | | /// let duration = Some(Duration::from_millis(100)); |
249 | | /// |
250 | | /// // Create a channel that times out after the specified duration. |
251 | | /// let timeout = duration |
252 | | /// .map(|d| after(d)) |
253 | | /// .unwrap_or(never()); |
254 | | /// |
255 | | /// select! { |
256 | | /// recv(r) -> msg => assert_eq!(msg, Ok(1)), |
257 | | /// recv(timeout) -> _ => println!("timed out"), |
258 | | /// } |
259 | | /// ``` |
260 | | /// |
261 | | /// [`select!`]: macro.select.html |
262 | 4.09M | pub fn never<T>() -> Receiver<T> { |
263 | 4.09M | Receiver { |
264 | 4.09M | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), |
265 | 4.09M | } |
266 | 4.09M | } crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 39.9k | pub fn never<T>() -> Receiver<T> { | 263 | 39.9k | Receiver { | 264 | 39.9k | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 39.9k | } | 266 | 39.9k | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 10.0k | pub fn never<T>() -> Receiver<T> { | 263 | 10.0k | Receiver { | 264 | 10.0k | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 10.0k | } | 266 | 10.0k | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 3.99k | pub fn never<T>() -> Receiver<T> { | 263 | 3.99k | Receiver { | 264 | 3.99k | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 3.99k | } | 266 | 3.99k | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 19.9k | pub fn never<T>() -> Receiver<T> { | 263 | 19.9k | Receiver { | 264 | 19.9k | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 19.9k | } | 266 | 19.9k | } |
crossbeam_channel::channel::never::<i32> Line | Count | Source | 262 | 7 | pub fn never<T>() -> Receiver<T> { | 263 | 7 | Receiver { | 264 | 7 | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 7 | } | 266 | 7 | } |
crossbeam_channel::channel::never::<std::time::Instant> Line | Count | Source | 262 | 1 | pub fn never<T>() -> Receiver<T> { | 263 | 1 | Receiver { | 264 | 1 | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 1 | } | 266 | 1 | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 3.58k | pub fn never<T>() -> Receiver<T> { | 263 | 3.58k | Receiver { | 264 | 3.58k | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 3.58k | } | 266 | 3.58k | } |
crossbeam_channel::channel::never::<usize> Line | Count | Source | 262 | 2 | pub fn never<T>() -> Receiver<T> { | 263 | 2 | Receiver { | 264 | 2 | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 2 | } | 266 | 2 | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 1 | pub fn never<T>() -> Receiver<T> { | 263 | 1 | Receiver { | 264 | 1 | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 1 | } | 266 | 1 | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 19.9k | pub fn never<T>() -> Receiver<T> { | 263 | 19.9k | Receiver { | 264 | 19.9k | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 19.9k | } | 266 | 19.9k | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 245k | pub fn never<T>() -> Receiver<T> { | 263 | 245k | Receiver { | 264 | 245k | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 245k | } | 266 | 245k | } |
crossbeam_channel::channel::never::<()> Line | Count | Source | 262 | 3.75M | pub fn never<T>() -> Receiver<T> { | 263 | 3.75M | Receiver { | 264 | 3.75M | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 3.75M | } | 266 | 3.75M | } |
crossbeam_channel::channel::never::<i32> Line | Count | Source | 262 | 2 | pub fn never<T>() -> Receiver<T> { | 263 | 2 | Receiver { | 264 | 2 | flavor: ReceiverFlavor::Never(flavors::never::Channel::new()), | 265 | 2 | } | 266 | 2 | } |
|
267 | | |
268 | | /// Creates a receiver that delivers messages periodically. |
269 | | /// |
270 | | /// The channel is bounded with capacity of 1 and never gets disconnected. Messages will be |
271 | | /// sent into the channel in intervals of `duration`. Each message is the instant at which it is |
272 | | /// sent. |
273 | | /// |
274 | | /// # Examples |
275 | | /// |
276 | | /// Using a `tick` channel to periodically print elapsed time: |
277 | | /// |
278 | | /// ``` |
279 | | /// use std::time::{Duration, Instant}; |
280 | | /// use crossbeam_channel::tick; |
281 | | /// |
282 | | /// let start = Instant::now(); |
283 | | /// let ticker = tick(Duration::from_millis(100)); |
284 | | /// |
285 | | /// for _ in 0..5 { |
286 | | /// ticker.recv().unwrap(); |
287 | | /// println!("elapsed: {:?}", start.elapsed()); |
288 | | /// } |
289 | | /// ``` |
290 | | /// |
291 | | /// When messages get sent: |
292 | | /// |
293 | | /// ``` |
294 | | /// use std::thread; |
295 | | /// use std::time::{Duration, Instant}; |
296 | | /// use crossbeam_channel::tick; |
297 | | /// |
298 | | /// // Converts a number of milliseconds into a `Duration`. |
299 | | /// let ms = |ms| Duration::from_millis(ms); |
300 | | /// |
301 | | /// // Returns `true` if `a` and `b` are very close `Instant`s. |
302 | | /// let eq = |a, b| a + ms(50) > b && b + ms(50) > a; |
303 | | /// |
304 | | /// let start = Instant::now(); |
305 | | /// let r = tick(ms(100)); |
306 | | /// |
307 | | /// // This message was sent 100 ms from the start and received 100 ms from the start. |
308 | | /// assert!(eq(r.recv().unwrap(), start + ms(100))); |
309 | | /// assert!(eq(Instant::now(), start + ms(100))); |
310 | | /// |
311 | | /// thread::sleep(ms(500)); |
312 | | /// |
313 | | /// // This message was sent 200 ms from the start and received 600 ms from the start. |
314 | | /// assert!(eq(r.recv().unwrap(), start + ms(200))); |
315 | | /// assert!(eq(Instant::now(), start + ms(600))); |
316 | | /// |
317 | | /// // This message was sent 700 ms from the start and received 700 ms from the start. |
318 | | /// assert!(eq(r.recv().unwrap(), start + ms(700))); |
319 | | /// assert!(eq(Instant::now(), start + ms(700))); |
320 | | /// ``` |
321 | 30.2k | pub fn tick(duration: Duration) -> Receiver<Instant> { |
322 | 30.2k | Receiver { |
323 | 30.2k | flavor: ReceiverFlavor::Tick(Arc::new(flavors::tick::Channel::new(duration))), |
324 | 30.2k | } |
325 | 30.2k | } |
326 | | |
327 | | /// The sending side of a channel. |
328 | | /// |
329 | | /// # Examples |
330 | | /// |
331 | | /// ``` |
332 | | /// use std::thread; |
333 | | /// use crossbeam_channel::unbounded; |
334 | | /// |
335 | | /// let (s1, r) = unbounded(); |
336 | | /// let s2 = s1.clone(); |
337 | | /// |
338 | | /// thread::spawn(move || s1.send(1).unwrap()); |
339 | | /// thread::spawn(move || s2.send(2).unwrap()); |
340 | | /// |
341 | | /// let msg1 = r.recv().unwrap(); |
342 | | /// let msg2 = r.recv().unwrap(); |
343 | | /// |
344 | | /// assert_eq!(msg1 + msg2, 3); |
345 | | /// ``` |
346 | | pub struct Sender<T> { |
347 | | flavor: SenderFlavor<T>, |
348 | | } |
349 | | |
350 | | /// Sender flavors. |
351 | | enum SenderFlavor<T> { |
352 | | /// Bounded channel based on a preallocated array. |
353 | | Array(counter::Sender<flavors::array::Channel<T>>), |
354 | | |
355 | | /// Unbounded channel implemented as a linked list. |
356 | | List(counter::Sender<flavors::list::Channel<T>>), |
357 | | |
358 | | /// Zero-capacity channel. |
359 | | Zero(counter::Sender<flavors::zero::Channel<T>>), |
360 | | } |
361 | | |
362 | | unsafe impl<T: Send> Send for Sender<T> {} |
363 | | unsafe impl<T: Send> Sync for Sender<T> {} |
364 | | |
365 | | impl<T> UnwindSafe for Sender<T> {} |
366 | | impl<T> RefUnwindSafe for Sender<T> {} |
367 | | |
368 | | impl<T> Sender<T> { |
369 | | /// Attempts to send a message into the channel without blocking. |
370 | | /// |
371 | | /// This method will either send a message into the channel immediately or return an error if |
372 | | /// the channel is full or disconnected. The returned error contains the original message. |
373 | | /// |
374 | | /// If called on a zero-capacity channel, this method will send the message only if there |
375 | | /// happens to be a receive operation on the other side of the channel at the same time. |
376 | | /// |
377 | | /// # Examples |
378 | | /// |
379 | | /// ``` |
380 | | /// use crossbeam_channel::{bounded, TrySendError}; |
381 | | /// |
382 | | /// let (s, r) = bounded(1); |
383 | | /// |
384 | | /// assert_eq!(s.try_send(1), Ok(())); |
385 | | /// assert_eq!(s.try_send(2), Err(TrySendError::Full(2))); |
386 | | /// |
387 | | /// drop(r); |
388 | | /// assert_eq!(s.try_send(3), Err(TrySendError::Disconnected(3))); |
389 | | /// ``` |
390 | 88.1k | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { |
391 | 88.1k | match &self.flavor { |
392 | 3.23k | SenderFlavor::Array(chan) => chan.try_send(msg), |
393 | 52.7k | SenderFlavor::List(chan) => chan.try_send(msg), |
394 | 32.1k | SenderFlavor::Zero(chan) => chan.try_send(msg), |
395 | | } |
396 | 88.1k | } <crossbeam_channel::channel::Sender<()>>::try_send Line | Count | Source | 390 | 2.39k | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 2.39k | match &self.flavor { | 392 | 0 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 0 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 2.39k | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 2.39k | } |
<crossbeam_channel::channel::Sender<i32>>::try_send Line | Count | Source | 390 | 4 | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 4 | match &self.flavor { | 392 | 0 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 0 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 4 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 4 | } |
<crossbeam_channel::channel::Sender<()>>::try_send Line | Count | Source | 390 | 200 | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 200 | match &self.flavor { | 392 | 200 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 0 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 0 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 200 | } |
<crossbeam_channel::channel::Sender<i32>>::try_send Line | Count | Source | 390 | 9 | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 9 | match &self.flavor { | 392 | 5 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 0 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 4 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 9 | } |
<crossbeam_channel::channel::Sender<i32>>::try_send Line | Count | Source | 390 | 5 | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 5 | match &self.flavor { | 392 | 5 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 0 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 0 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 5 | } |
<crossbeam_channel::channel::Sender<i32>>::try_send Line | Count | Source | 390 | 1.00k | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 1.00k | match &self.flavor { | 392 | 0 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 1.00k | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 0 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 1.00k | } |
<crossbeam_channel::channel::Sender<list::drops::DropCounter>>::try_send Line | Count | Source | 390 | 51.7k | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 51.7k | match &self.flavor { | 392 | 0 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 51.7k | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 0 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 51.7k | } |
<crossbeam_channel::channel::Sender<usize>>::try_send Line | Count | Source | 390 | 29.8k | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 29.8k | match &self.flavor { | 392 | 27 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 0 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 29.7k | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 29.8k | } |
<crossbeam_channel::channel::Sender<i32>>::try_send Line | Count | Source | 390 | 12 | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 12 | match &self.flavor { | 392 | 0 | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 9 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 3 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 12 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::try_send Line | Count | Source | 390 | 3.00k | pub fn try_send(&self, msg: T) -> Result<(), TrySendError<T>> { | 391 | 3.00k | match &self.flavor { | 392 | 3.00k | SenderFlavor::Array(chan) => chan.try_send(msg), | 393 | 0 | SenderFlavor::List(chan) => chan.try_send(msg), | 394 | 0 | SenderFlavor::Zero(chan) => chan.try_send(msg), | 395 | | } | 396 | 3.00k | } |
|
397 | | |
398 | | /// Blocks the current thread until a message is sent or the channel is disconnected. |
399 | | /// |
400 | | /// If the channel is full and not disconnected, this call will block until the send operation |
401 | | /// can proceed. If the channel becomes disconnected, this call will wake up and return an |
402 | | /// error. The returned error contains the original message. |
403 | | /// |
404 | | /// If called on a zero-capacity channel, this method will wait for a receive operation to |
405 | | /// appear on the other side of the channel. |
406 | | /// |
407 | | /// # Examples |
408 | | /// |
409 | | /// ``` |
410 | | /// use std::thread; |
411 | | /// use std::time::Duration; |
412 | | /// use crossbeam_channel::{bounded, SendError}; |
413 | | /// |
414 | | /// let (s, r) = bounded(1); |
415 | | /// assert_eq!(s.send(1), Ok(())); |
416 | | /// |
417 | | /// thread::spawn(move || { |
418 | | /// assert_eq!(r.recv(), Ok(1)); |
419 | | /// thread::sleep(Duration::from_secs(1)); |
420 | | /// drop(r); |
421 | | /// }); |
422 | | /// |
423 | | /// assert_eq!(s.send(2), Ok(())); |
424 | | /// assert_eq!(s.send(3), Err(SendError(3))); |
425 | | /// ``` |
426 | 6.98M | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { |
427 | 6.98M | match &self.flavor { |
428 | 2.70M | SenderFlavor::Array(chan) => chan.send(msg, None), |
429 | 2.18M | SenderFlavor::List(chan) => chan.send(msg, None), |
430 | 2.09M | SenderFlavor::Zero(chan) => chan.send(msg, None), |
431 | | } |
432 | 28 | .map_err(|err| match err { |
433 | 28 | SendTimeoutError::Disconnected(msg) => SendError(msg), |
434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), |
435 | 28 | }) <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Line | Count | Source | 432 | 1 | .map_err(|err| match err { | 433 | 1 | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | 1 | }) |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<zero::drops::DropCounter>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>>>::send::{closure#0} <crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>>>::send::{closure#0} Line | Count | Source | 432 | 2 | .map_err(|err| match err { | 433 | 2 | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | 2 | }) |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Line | Count | Source | 432 | 19 | .map_err(|err| match err { | 433 | 19 | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | 19 | }) |
<crossbeam_channel::channel::Sender<()>>::send::{closure#0} Line | Count | Source | 432 | 1 | .map_err(|err| match err { | 433 | 1 | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | 1 | }) |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<array::drops::DropCounter>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Line | Count | Source | 432 | 2 | .map_err(|err| match err { | 433 | 2 | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | 2 | }) |
<crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Line | Count | Source | 432 | 1 | .map_err(|err| match err { | 433 | 1 | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | 1 | }) |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::send::{closure#0} <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Line | Count | Source | 432 | 2 | .map_err(|err| match err { | 433 | 2 | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | 0 | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | 2 | }) |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<list::drops::DropCounter>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::string::String>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<bool>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<u8>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<i64>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send::{closure#0} Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32>>::send::{closure#0} |
436 | 6.98M | } <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::send Line | Count | Source | 426 | 1.00k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 1.00k | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 1.00k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 1.00k | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 10.0k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 10.0k | match &self.flavor { | 428 | 10.0k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 9 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 10.0k | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 224k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 224k | match &self.flavor { | 428 | 164 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 224k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 224k | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 2 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 2 | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 2 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 2 | } |
<crossbeam_channel::channel::Sender<zero::drops::DropCounter>>::send Line | Count | Source | 426 | 155k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 155k | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 155k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 155k | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 795k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 795k | match &self.flavor { | 428 | 398k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 397k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 2 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 795k | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 865k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 865k | match &self.flavor { | 428 | 58.4k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 10.0k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 797k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 865k | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 39.8k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 39.8k | match &self.flavor { | 428 | 9.86k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 10.0k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 19.9k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 39.8k | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 135k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 135k | match &self.flavor { | 428 | 18.4E | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 101k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 34.9k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 135k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>>>::send Line | Count | Source | 426 | 4 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 4 | match &self.flavor { | 428 | 2 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 2 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 4 | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 31.6k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 31.6k | match &self.flavor { | 428 | 9.92k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 21.5k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 105 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 31.6k | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 202 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 202 | match &self.flavor { | 428 | 1 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 201 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 202 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>>>::send Line | Count | Source | 426 | 27 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 27 | match &self.flavor { | 428 | 1 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 13 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 13 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 27 | } |
<crossbeam_channel::channel::Sender<array::drops::DropCounter>>::send Line | Count | Source | 426 | 493k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 493k | match &self.flavor { | 428 | 493k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 493k | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 109k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 109k | match &self.flavor { | 428 | 109k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 109k | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 321k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 321k | match &self.flavor { | 428 | 321k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 321k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::send Line | Count | Source | 426 | 1.00k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 1.00k | match &self.flavor { | 428 | 1.00k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 1.00k | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 129k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 129k | match &self.flavor { | 428 | 129k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 129k | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 48 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 48 | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 48 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 48 | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 17 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 17 | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 17 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 17 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<()>>::send <crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 2 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 2 | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 2 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 2 | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 110k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 110k | match &self.flavor { | 428 | 46 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 110k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 110k | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 287k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 287k | match &self.flavor { | 428 | 1.82k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 285k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 287k | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 128k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 128k | match &self.flavor { | 428 | 182 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 128k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 128k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::send Line | Count | Source | 426 | 1.00k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 1.00k | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 1.00k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 1.00k | } |
<crossbeam_channel::channel::Sender<list::drops::DropCounter>>::send Line | Count | Source | 426 | 471k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 471k | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 471k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 471k | } |
<crossbeam_channel::channel::Sender<u8>>::send Line | Count | Source | 426 | 20.0k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 20.0k | match &self.flavor { | 428 | 20.0k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 20.0k | } |
<crossbeam_channel::channel::Sender<alloc::string::String>>::send Line | Count | Source | 426 | 2 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 2 | match &self.flavor { | 428 | 1 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 1 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 2 | } |
<crossbeam_channel::channel::Sender<i64>>::send Line | Count | Source | 426 | 2 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 2 | match &self.flavor { | 428 | 1 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 1 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 2 | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 866k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 866k | match &self.flavor { | 428 | 635k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 200k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 30.2k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 866k | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 1.00k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 1.00k | match &self.flavor { | 428 | 1.00k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 1.00k | } |
<crossbeam_channel::channel::Sender<bool>>::send Line | Count | Source | 426 | 2.32k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 2.32k | match &self.flavor { | 428 | 2.00k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 325 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 2.32k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>>>::send Line | Count | Source | 426 | 1 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 1 | match &self.flavor { | 428 | 1 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 0 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 1 | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 871k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 871k | match &self.flavor { | 428 | 57.2k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 19.7k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 794k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 871k | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 30.0k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 30.0k | match &self.flavor { | 428 | 10.0k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 10.0k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 10.0k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 30.0k | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 793k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 793k | match &self.flavor { | 428 | 396k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 397k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 2 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 793k | } |
<crossbeam_channel::channel::Sender<i32>>::send Line | Count | Source | 426 | 7 | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 7 | match &self.flavor { | 428 | 0 | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 5 | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 2 | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 7 | } |
<crossbeam_channel::channel::Sender<usize>>::send Line | Count | Source | 426 | 29.8k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 29.8k | match &self.flavor { | 428 | 9.86k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 10.0k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 10.0k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 29.8k | } |
<crossbeam_channel::channel::Sender<()>>::send Line | Count | Source | 426 | 59.2k | pub fn send(&self, msg: T) -> Result<(), SendError<T>> { | 427 | 59.2k | match &self.flavor { | 428 | 29.2k | SenderFlavor::Array(chan) => chan.send(msg, None), | 429 | 10.0k | SenderFlavor::List(chan) => chan.send(msg, None), | 430 | 20.0k | SenderFlavor::Zero(chan) => chan.send(msg, None), | 431 | | } | 432 | | .map_err(|err| match err { | 433 | | SendTimeoutError::Disconnected(msg) => SendError(msg), | 434 | | SendTimeoutError::Timeout(_) => unreachable!(), | 435 | | }) | 436 | 59.2k | } |
|
437 | | |
438 | | /// Waits for a message to be sent into the channel, but only for a limited time. |
439 | | /// |
440 | | /// If the channel is full and not disconnected, this call will block until the send operation |
441 | | /// can proceed or the operation times out. If the channel becomes disconnected, this call will |
442 | | /// wake up and return an error. The returned error contains the original message. |
443 | | /// |
444 | | /// If called on a zero-capacity channel, this method will wait for a receive operation to |
445 | | /// appear on the other side of the channel. |
446 | | /// |
447 | | /// # Examples |
448 | | /// |
449 | | /// ``` |
450 | | /// use std::thread; |
451 | | /// use std::time::Duration; |
452 | | /// use crossbeam_channel::{bounded, SendTimeoutError}; |
453 | | /// |
454 | | /// let (s, r) = bounded(0); |
455 | | /// |
456 | | /// thread::spawn(move || { |
457 | | /// thread::sleep(Duration::from_secs(1)); |
458 | | /// assert_eq!(r.recv(), Ok(2)); |
459 | | /// drop(r); |
460 | | /// }); |
461 | | /// |
462 | | /// assert_eq!( |
463 | | /// s.send_timeout(1, Duration::from_millis(500)), |
464 | | /// Err(SendTimeoutError::Timeout(1)), |
465 | | /// ); |
466 | | /// assert_eq!( |
467 | | /// s.send_timeout(2, Duration::from_secs(1)), |
468 | | /// Ok(()), |
469 | | /// ); |
470 | | /// assert_eq!( |
471 | | /// s.send_timeout(3, Duration::from_millis(500)), |
472 | | /// Err(SendTimeoutError::Disconnected(3)), |
473 | | /// ); |
474 | | /// ``` |
475 | 1.21k | pub fn send_timeout(&self, msg: T, timeout: Duration) -> Result<(), SendTimeoutError<T>> { |
476 | 1.21k | self.send_deadline(msg, Instant::now() + timeout) |
477 | 1.21k | } <crossbeam_channel::channel::Sender<i32>>::send_timeout Line | Count | Source | 475 | 3 | pub fn send_timeout(&self, msg: T, timeout: Duration) -> Result<(), SendTimeoutError<T>> { | 476 | 3 | self.send_deadline(msg, Instant::now() + timeout) | 477 | 3 | } |
<crossbeam_channel::channel::Sender<usize>>::send_timeout Line | Count | Source | 475 | 100 | pub fn send_timeout(&self, msg: T, timeout: Duration) -> Result<(), SendTimeoutError<T>> { | 476 | 100 | self.send_deadline(msg, Instant::now() + timeout) | 477 | 100 | } |
<crossbeam_channel::channel::Sender<usize>>::send_timeout Line | Count | Source | 475 | 100 | pub fn send_timeout(&self, msg: T, timeout: Duration) -> Result<(), SendTimeoutError<T>> { | 476 | 100 | self.send_deadline(msg, Instant::now() + timeout) | 477 | 100 | } |
<crossbeam_channel::channel::Sender<i32>>::send_timeout Line | Count | Source | 475 | 5 | pub fn send_timeout(&self, msg: T, timeout: Duration) -> Result<(), SendTimeoutError<T>> { | 476 | 5 | self.send_deadline(msg, Instant::now() + timeout) | 477 | 5 | } |
<crossbeam_channel::channel::Sender<i32>>::send_timeout Line | Count | Source | 475 | 1.00k | pub fn send_timeout(&self, msg: T, timeout: Duration) -> Result<(), SendTimeoutError<T>> { | 476 | 1.00k | self.send_deadline(msg, Instant::now() + timeout) | 477 | 1.00k | } |
|
478 | | |
479 | | /// Waits for a message to be sent into the channel, but only until a given deadline. |
480 | | /// |
481 | | /// If the channel is full and not disconnected, this call will block until the send operation |
482 | | /// can proceed or the operation times out. If the channel becomes disconnected, this call will |
483 | | /// wake up and return an error. The returned error contains the original message. |
484 | | /// |
485 | | /// If called on a zero-capacity channel, this method will wait for a receive operation to |
486 | | /// appear on the other side of the channel. |
487 | | /// |
488 | | /// # Examples |
489 | | /// |
490 | | /// ``` |
491 | | /// use std::thread; |
492 | | /// use std::time::{Duration, Instant}; |
493 | | /// use crossbeam_channel::{bounded, SendTimeoutError}; |
494 | | /// |
495 | | /// let (s, r) = bounded(0); |
496 | | /// |
497 | | /// thread::spawn(move || { |
498 | | /// thread::sleep(Duration::from_secs(1)); |
499 | | /// assert_eq!(r.recv(), Ok(2)); |
500 | | /// drop(r); |
501 | | /// }); |
502 | | /// |
503 | | /// let now = Instant::now(); |
504 | | /// |
505 | | /// assert_eq!( |
506 | | /// s.send_deadline(1, now + Duration::from_millis(500)), |
507 | | /// Err(SendTimeoutError::Timeout(1)), |
508 | | /// ); |
509 | | /// assert_eq!( |
510 | | /// s.send_deadline(2, now + Duration::from_millis(1500)), |
511 | | /// Ok(()), |
512 | | /// ); |
513 | | /// assert_eq!( |
514 | | /// s.send_deadline(3, now + Duration::from_millis(2000)), |
515 | | /// Err(SendTimeoutError::Disconnected(3)), |
516 | | /// ); |
517 | | /// ``` |
518 | 1.21k | pub fn send_deadline(&self, msg: T, deadline: Instant) -> Result<(), SendTimeoutError<T>> { |
519 | 1.21k | match &self.flavor { |
520 | 105 | SenderFlavor::Array(chan) => chan.send(msg, Some(deadline)), |
521 | 1.00k | SenderFlavor::List(chan) => chan.send(msg, Some(deadline)), |
522 | 103 | SenderFlavor::Zero(chan) => chan.send(msg, Some(deadline)), |
523 | | } |
524 | 1.21k | } <crossbeam_channel::channel::Sender<usize>>::send_deadline Line | Count | Source | 518 | 100 | pub fn send_deadline(&self, msg: T, deadline: Instant) -> Result<(), SendTimeoutError<T>> { | 519 | 100 | match &self.flavor { | 520 | 0 | SenderFlavor::Array(chan) => chan.send(msg, Some(deadline)), | 521 | 0 | SenderFlavor::List(chan) => chan.send(msg, Some(deadline)), | 522 | 100 | SenderFlavor::Zero(chan) => chan.send(msg, Some(deadline)), | 523 | | } | 524 | 100 | } |
<crossbeam_channel::channel::Sender<i32>>::send_deadline Line | Count | Source | 518 | 3 | pub fn send_deadline(&self, msg: T, deadline: Instant) -> Result<(), SendTimeoutError<T>> { | 519 | 3 | match &self.flavor { | 520 | 0 | SenderFlavor::Array(chan) => chan.send(msg, Some(deadline)), | 521 | 0 | SenderFlavor::List(chan) => chan.send(msg, Some(deadline)), | 522 | 3 | SenderFlavor::Zero(chan) => chan.send(msg, Some(deadline)), | 523 | | } | 524 | 3 | } |
<crossbeam_channel::channel::Sender<usize>>::send_deadline Line | Count | Source | 518 | 100 | pub fn send_deadline(&self, msg: T, deadline: Instant) -> Result<(), SendTimeoutError<T>> { | 519 | 100 | match &self.flavor { | 520 | 100 | SenderFlavor::Array(chan) => chan.send(msg, Some(deadline)), | 521 | 0 | SenderFlavor::List(chan) => chan.send(msg, Some(deadline)), | 522 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, Some(deadline)), | 523 | | } | 524 | 100 | } |
<crossbeam_channel::channel::Sender<i32>>::send_deadline Line | Count | Source | 518 | 5 | pub fn send_deadline(&self, msg: T, deadline: Instant) -> Result<(), SendTimeoutError<T>> { | 519 | 5 | match &self.flavor { | 520 | 5 | SenderFlavor::Array(chan) => chan.send(msg, Some(deadline)), | 521 | 0 | SenderFlavor::List(chan) => chan.send(msg, Some(deadline)), | 522 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, Some(deadline)), | 523 | | } | 524 | 5 | } |
<crossbeam_channel::channel::Sender<i32>>::send_deadline Line | Count | Source | 518 | 1.00k | pub fn send_deadline(&self, msg: T, deadline: Instant) -> Result<(), SendTimeoutError<T>> { | 519 | 1.00k | match &self.flavor { | 520 | 0 | SenderFlavor::Array(chan) => chan.send(msg, Some(deadline)), | 521 | 1.00k | SenderFlavor::List(chan) => chan.send(msg, Some(deadline)), | 522 | 0 | SenderFlavor::Zero(chan) => chan.send(msg, Some(deadline)), | 523 | | } | 524 | 1.00k | } |
|
525 | | |
526 | | /// Returns `true` if the channel is empty. |
527 | | /// |
528 | | /// Note: Zero-capacity channels are always empty. |
529 | | /// |
530 | | /// # Examples |
531 | | /// |
532 | | /// ``` |
533 | | /// use crossbeam_channel::unbounded; |
534 | | /// |
535 | | /// let (s, r) = unbounded(); |
536 | | /// assert!(s.is_empty()); |
537 | | /// |
538 | | /// s.send(0).unwrap(); |
539 | | /// assert!(!s.is_empty()); |
540 | | /// ``` |
541 | 240k | pub fn is_empty(&self) -> bool { |
542 | 240k | match &self.flavor { |
543 | 120k | SenderFlavor::Array(chan) => chan.is_empty(), |
544 | 120k | SenderFlavor::List(chan) => chan.is_empty(), |
545 | 2 | SenderFlavor::Zero(chan) => chan.is_empty(), |
546 | | } |
547 | 240k | } <crossbeam_channel::channel::Sender<i32>>::is_empty Line | Count | Source | 541 | 2 | pub fn is_empty(&self) -> bool { | 542 | 2 | match &self.flavor { | 543 | 0 | SenderFlavor::Array(chan) => chan.is_empty(), | 544 | 0 | SenderFlavor::List(chan) => chan.is_empty(), | 545 | 2 | SenderFlavor::Zero(chan) => chan.is_empty(), | 546 | | } | 547 | 2 | } |
<crossbeam_channel::channel::Sender<()>>::is_empty Line | Count | Source | 541 | 20.0k | pub fn is_empty(&self) -> bool { | 542 | 20.0k | match &self.flavor { | 543 | 10.0k | SenderFlavor::Array(chan) => chan.is_empty(), | 544 | 10.0k | SenderFlavor::List(chan) => chan.is_empty(), | 545 | 0 | SenderFlavor::Zero(chan) => chan.is_empty(), | 546 | | } | 547 | 20.0k | } |
<crossbeam_channel::channel::Sender<()>>::is_empty Line | Count | Source | 541 | 4 | pub fn is_empty(&self) -> bool { | 542 | 4 | match &self.flavor { | 543 | 4 | SenderFlavor::Array(chan) => chan.is_empty(), | 544 | 0 | SenderFlavor::List(chan) => chan.is_empty(), | 545 | 0 | SenderFlavor::Zero(chan) => chan.is_empty(), | 546 | | } | 547 | 4 | } |
<crossbeam_channel::channel::Sender<()>>::is_empty Line | Count | Source | 541 | 3 | pub fn is_empty(&self) -> bool { | 542 | 3 | match &self.flavor { | 543 | 0 | SenderFlavor::Array(chan) => chan.is_empty(), | 544 | 3 | SenderFlavor::List(chan) => chan.is_empty(), | 545 | 0 | SenderFlavor::Zero(chan) => chan.is_empty(), | 546 | | } | 547 | 3 | } |
<crossbeam_channel::channel::Sender<()>>::is_empty Line | Count | Source | 541 | 20.0k | pub fn is_empty(&self) -> bool { | 542 | 20.0k | match &self.flavor { | 543 | 10.0k | SenderFlavor::Array(chan) => chan.is_empty(), | 544 | 10.0k | SenderFlavor::List(chan) => chan.is_empty(), | 545 | 0 | SenderFlavor::Zero(chan) => chan.is_empty(), | 546 | | } | 547 | 20.0k | } |
<crossbeam_channel::channel::Sender<()>>::is_empty Line | Count | Source | 541 | 200k | pub fn is_empty(&self) -> bool { | 542 | 200k | match &self.flavor { | 543 | 100k | SenderFlavor::Array(chan) => chan.is_empty(), | 544 | 100k | SenderFlavor::List(chan) => chan.is_empty(), | 545 | 0 | SenderFlavor::Zero(chan) => chan.is_empty(), | 546 | | } | 547 | 200k | } |
|
548 | | |
549 | | /// Returns `true` if the channel is full. |
550 | | /// |
551 | | /// Note: Zero-capacity channels are always full. |
552 | | /// |
553 | | /// # Examples |
554 | | /// |
555 | | /// ``` |
556 | | /// use crossbeam_channel::bounded; |
557 | | /// |
558 | | /// let (s, r) = bounded(1); |
559 | | /// |
560 | | /// assert!(!s.is_full()); |
561 | | /// s.send(0).unwrap(); |
562 | | /// assert!(s.is_full()); |
563 | | /// ``` |
564 | 9 | pub fn is_full(&self) -> bool { |
565 | 9 | match &self.flavor { |
566 | 4 | SenderFlavor::Array(chan) => chan.is_full(), |
567 | 3 | SenderFlavor::List(chan) => chan.is_full(), |
568 | 2 | SenderFlavor::Zero(chan) => chan.is_full(), |
569 | | } |
570 | 9 | } <crossbeam_channel::channel::Sender<i32>>::is_full Line | Count | Source | 564 | 2 | pub fn is_full(&self) -> bool { | 565 | 2 | match &self.flavor { | 566 | 0 | SenderFlavor::Array(chan) => chan.is_full(), | 567 | 0 | SenderFlavor::List(chan) => chan.is_full(), | 568 | 2 | SenderFlavor::Zero(chan) => chan.is_full(), | 569 | | } | 570 | 2 | } |
<crossbeam_channel::channel::Sender<()>>::is_full Line | Count | Source | 564 | 4 | pub fn is_full(&self) -> bool { | 565 | 4 | match &self.flavor { | 566 | 4 | SenderFlavor::Array(chan) => chan.is_full(), | 567 | 0 | SenderFlavor::List(chan) => chan.is_full(), | 568 | 0 | SenderFlavor::Zero(chan) => chan.is_full(), | 569 | | } | 570 | 4 | } |
<crossbeam_channel::channel::Sender<()>>::is_full Line | Count | Source | 564 | 3 | pub fn is_full(&self) -> bool { | 565 | 3 | match &self.flavor { | 566 | 0 | SenderFlavor::Array(chan) => chan.is_full(), | 567 | 3 | SenderFlavor::List(chan) => chan.is_full(), | 568 | 0 | SenderFlavor::Zero(chan) => chan.is_full(), | 569 | | } | 570 | 3 | } |
|
571 | | |
572 | | /// Returns the number of messages in the channel. |
573 | | /// |
574 | | /// # Examples |
575 | | /// |
576 | | /// ``` |
577 | | /// use crossbeam_channel::unbounded; |
578 | | /// |
579 | | /// let (s, r) = unbounded(); |
580 | | /// assert_eq!(s.len(), 0); |
581 | | /// |
582 | | /// s.send(1).unwrap(); |
583 | | /// s.send(2).unwrap(); |
584 | | /// assert_eq!(s.len(), 2); |
585 | | /// ``` |
586 | 56.0k | pub fn len(&self) -> usize { |
587 | 56.0k | match &self.flavor { |
588 | 31.0k | SenderFlavor::Array(chan) => chan.len(), |
589 | 55 | SenderFlavor::List(chan) => chan.len(), |
590 | 25.0k | SenderFlavor::Zero(chan) => chan.len(), |
591 | | } |
592 | 56.0k | } <crossbeam_channel::channel::Sender<i32>>::len Line | Count | Source | 586 | 2 | pub fn len(&self) -> usize { | 587 | 2 | match &self.flavor { | 588 | 0 | SenderFlavor::Array(chan) => chan.len(), | 589 | 0 | SenderFlavor::List(chan) => chan.len(), | 590 | 2 | SenderFlavor::Zero(chan) => chan.len(), | 591 | | } | 592 | 2 | } |
<crossbeam_channel::channel::Sender<usize>>::len Line | Count | Source | 586 | 25.0k | pub fn len(&self) -> usize { | 587 | 25.0k | match &self.flavor { | 588 | 0 | SenderFlavor::Array(chan) => chan.len(), | 589 | 0 | SenderFlavor::List(chan) => chan.len(), | 590 | 25.0k | SenderFlavor::Zero(chan) => chan.len(), | 591 | | } | 592 | 25.0k | } |
<crossbeam_channel::channel::Sender<usize>>::len Line | Count | Source | 586 | 31.0k | pub fn len(&self) -> usize { | 587 | 31.0k | match &self.flavor { | 588 | 31.0k | SenderFlavor::Array(chan) => chan.len(), | 589 | 0 | SenderFlavor::List(chan) => chan.len(), | 590 | 0 | SenderFlavor::Zero(chan) => chan.len(), | 591 | | } | 592 | 31.0k | } |
<crossbeam_channel::channel::Sender<()>>::len Line | Count | Source | 586 | 4 | pub fn len(&self) -> usize { | 587 | 4 | match &self.flavor { | 588 | 4 | SenderFlavor::Array(chan) => chan.len(), | 589 | 0 | SenderFlavor::List(chan) => chan.len(), | 590 | 0 | SenderFlavor::Zero(chan) => chan.len(), | 591 | | } | 592 | 4 | } |
<crossbeam_channel::channel::Sender<usize>>::len Line | Count | Source | 586 | 52 | pub fn len(&self) -> usize { | 587 | 52 | match &self.flavor { | 588 | 0 | SenderFlavor::Array(chan) => chan.len(), | 589 | 52 | SenderFlavor::List(chan) => chan.len(), | 590 | 0 | SenderFlavor::Zero(chan) => chan.len(), | 591 | | } | 592 | 52 | } |
<crossbeam_channel::channel::Sender<()>>::len Line | Count | Source | 586 | 3 | pub fn len(&self) -> usize { | 587 | 3 | match &self.flavor { | 588 | 0 | SenderFlavor::Array(chan) => chan.len(), | 589 | 3 | SenderFlavor::List(chan) => chan.len(), | 590 | 0 | SenderFlavor::Zero(chan) => chan.len(), | 591 | | } | 592 | 3 | } |
|
593 | | |
594 | | /// If the channel is bounded, returns its capacity. |
595 | | /// |
596 | | /// # Examples |
597 | | /// |
598 | | /// ``` |
599 | | /// use crossbeam_channel::{bounded, unbounded}; |
600 | | /// |
601 | | /// let (s, _) = unbounded::<i32>(); |
602 | | /// assert_eq!(s.capacity(), None); |
603 | | /// |
604 | | /// let (s, _) = bounded::<i32>(5); |
605 | | /// assert_eq!(s.capacity(), Some(5)); |
606 | | /// |
607 | | /// let (s, _) = bounded::<i32>(0); |
608 | | /// assert_eq!(s.capacity(), Some(0)); |
609 | | /// ``` |
610 | 11 | pub fn capacity(&self) -> Option<usize> { |
611 | 11 | match &self.flavor { |
612 | 9 | SenderFlavor::Array(chan) => chan.capacity(), |
613 | 1 | SenderFlavor::List(chan) => chan.capacity(), |
614 | 1 | SenderFlavor::Zero(chan) => chan.capacity(), |
615 | | } |
616 | 11 | } <crossbeam_channel::channel::Sender<()>>::capacity Line | Count | Source | 610 | 1 | pub fn capacity(&self) -> Option<usize> { | 611 | 1 | match &self.flavor { | 612 | 0 | SenderFlavor::Array(chan) => chan.capacity(), | 613 | 0 | SenderFlavor::List(chan) => chan.capacity(), | 614 | 1 | SenderFlavor::Zero(chan) => chan.capacity(), | 615 | | } | 616 | 1 | } |
<crossbeam_channel::channel::Sender<()>>::capacity Line | Count | Source | 610 | 9 | pub fn capacity(&self) -> Option<usize> { | 611 | 9 | match &self.flavor { | 612 | 9 | SenderFlavor::Array(chan) => chan.capacity(), | 613 | 0 | SenderFlavor::List(chan) => chan.capacity(), | 614 | 0 | SenderFlavor::Zero(chan) => chan.capacity(), | 615 | | } | 616 | 9 | } |
<crossbeam_channel::channel::Sender<()>>::capacity Line | Count | Source | 610 | 1 | pub fn capacity(&self) -> Option<usize> { | 611 | 1 | match &self.flavor { | 612 | 0 | SenderFlavor::Array(chan) => chan.capacity(), | 613 | 1 | SenderFlavor::List(chan) => chan.capacity(), | 614 | 0 | SenderFlavor::Zero(chan) => chan.capacity(), | 615 | | } | 616 | 1 | } |
|
617 | | |
618 | | /// Returns `true` if senders belong to the same channel. |
619 | | /// |
620 | | /// # Examples |
621 | | /// |
622 | | /// ```rust |
623 | | /// use crossbeam_channel::unbounded; |
624 | | /// |
625 | | /// let (s, _) = unbounded::<usize>(); |
626 | | /// |
627 | | /// let s2 = s.clone(); |
628 | | /// assert!(s.same_channel(&s2)); |
629 | | /// |
630 | | /// let (s3, _) = unbounded(); |
631 | | /// assert!(!s.same_channel(&s3)); |
632 | | /// ``` |
633 | 10 | pub fn same_channel(&self, other: &Sender<T>) -> bool { |
634 | 10 | match (&self.flavor, &other.flavor) { |
635 | 3 | (SenderFlavor::Array(ref a), SenderFlavor::Array(ref b)) => a == b, |
636 | 3 | (SenderFlavor::List(ref a), SenderFlavor::List(ref b)) => a == b, |
637 | 3 | (SenderFlavor::Zero(ref a), SenderFlavor::Zero(ref b)) => a == b, |
638 | 1 | _ => false, |
639 | | } |
640 | 10 | } |
641 | | } |
642 | | |
643 | | impl<T> Drop for Sender<T> { |
644 | 1.00M | fn drop(&mut self) { |
645 | 1.00M | unsafe { |
646 | 1.00M | match &self.flavor { |
647 | 707k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()33.5k ), <crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 10.0k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 4 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 6 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 203 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 12 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 10.0k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 18 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 1.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 100 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 5 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<bool> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 3 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i64> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 5.11k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<u8> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<u32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 7 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 4 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 3.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 4 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
|
648 | 211k | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()11.3k ), <crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 9 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 23 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 35 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 5 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 59 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 2 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 1 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 7 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 1 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 100 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 1.00k | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 5 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 10.0k | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 8 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 2 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 33 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 13 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 9 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 648 | 19 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), |
|
649 | 87.4k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()4.81k ), <crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 8 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 8 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 5 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1.00k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 100 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 10 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 47 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 29 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1.00k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 5 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 32 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 6 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 3 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<bool> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 306 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1.13k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<u32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 2 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<u8> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 4 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i64> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 6 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 57 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 32 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 1.00k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 2 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 4 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 649 | 7 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
|
650 | | } |
651 | | } |
652 | 1.00M | } <crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 8 | fn drop(&mut self) { | 645 | 8 | unsafe { | 646 | 8 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 8 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 8 | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 10.0k | fn drop(&mut self) { | 645 | 10.0k | unsafe { | 646 | 10.0k | match &self.flavor { | 647 | 10.0k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 8 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 10.0k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1.00k | fn drop(&mut self) { | 645 | 1.00k | unsafe { | 646 | 1.00k | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 1.00k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1.00k | } |
<crossbeam_channel::channel::Sender<zero::drops::DropCounter> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 100 | fn drop(&mut self) { | 645 | 100 | unsafe { | 646 | 100 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 100 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 100 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 5 | fn drop(&mut self) { | 645 | 5 | unsafe { | 646 | 5 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 5 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 5 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 15 | fn drop(&mut self) { | 645 | 15 | unsafe { | 646 | 15 | match &self.flavor { | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 10 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 15 | } |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 47 | fn drop(&mut self) { | 645 | 47 | unsafe { | 646 | 47 | match &self.flavor { | 647 | 6 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 12 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 29 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 47 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 3.00k | fn drop(&mut self) { | 645 | 3.00k | unsafe { | 646 | 3.00k | match &self.flavor { | 647 | 2.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 1.00k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 3.00k | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 75 | fn drop(&mut self) { | 645 | 75 | unsafe { | 646 | 75 | match &self.flavor { | 647 | 4 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 24 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 47 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 75 | } |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 462 | fn drop(&mut self) { | 645 | 462 | unsafe { | 646 | 462 | match &self.flavor { | 647 | 203 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 150 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 109 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 462 | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 136 | fn drop(&mut self) { | 645 | 136 | unsafe { | 646 | 136 | match &self.flavor { | 647 | 13 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 72 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 51 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 136 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 11 | fn drop(&mut self) { | 645 | 11 | unsafe { | 646 | 11 | match &self.flavor { | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 5 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 5 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 11 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 6 | fn drop(&mut self) { | 645 | 6 | unsafe { | 646 | 6 | match &self.flavor { | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 5 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 6 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 103 | fn drop(&mut self) { | 645 | 103 | unsafe { | 646 | 103 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 103 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 103 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1.00k | fn drop(&mut self) { | 645 | 1.00k | unsafe { | 646 | 1.00k | match &self.flavor { | 647 | 1.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1.00k | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 10.0k | fn drop(&mut self) { | 645 | 10.0k | unsafe { | 646 | 10.0k | match &self.flavor { | 647 | 10.0k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 10.0k | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 5 | fn drop(&mut self) { | 645 | 5 | unsafe { | 646 | 5 | match &self.flavor { | 647 | 5 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 5 | } |
<crossbeam_channel::channel::Sender<array::drops::DropCounter> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 100 | fn drop(&mut self) { | 645 | 100 | unsafe { | 646 | 100 | match &self.flavor { | 647 | 100 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 100 | } |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 18 | fn drop(&mut self) { | 645 | 18 | unsafe { | 646 | 18 | match &self.flavor { | 647 | 18 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 18 | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 7 | fn drop(&mut self) { | 645 | 7 | unsafe { | 646 | 7 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 7 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 7 | } |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1 | fn drop(&mut self) { | 645 | 1 | unsafe { | 646 | 1 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 1 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop <crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1 | fn drop(&mut self) { | 645 | 1 | unsafe { | 646 | 1 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 1 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 11 | fn drop(&mut self) { | 645 | 11 | unsafe { | 646 | 11 | match &self.flavor { | 647 | 3 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 4 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 4 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 11 | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1 | fn drop(&mut self) { | 645 | 1 | unsafe { | 646 | 1 | match &self.flavor { | 647 | 1 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 5 | fn drop(&mut self) { | 645 | 5 | unsafe { | 646 | 5 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 5 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 5 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1.00k | fn drop(&mut self) { | 645 | 1.00k | unsafe { | 646 | 1.00k | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 1.00k | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1.00k | } |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 8 | fn drop(&mut self) { | 645 | 8 | unsafe { | 646 | 8 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 8 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 8 | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 10.0k | fn drop(&mut self) { | 645 | 10.0k | unsafe { | 646 | 10.0k | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 10.0k | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 10.0k | } |
<crossbeam_channel::channel::Sender<list::drops::DropCounter> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 100 | fn drop(&mut self) { | 645 | 100 | unsafe { | 646 | 100 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 100 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 100 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 5 | fn drop(&mut self) { | 645 | 5 | unsafe { | 646 | 5 | match &self.flavor { | 647 | 5 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 5 | } |
<crossbeam_channel::channel::Sender<alloc::string::String> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 6 | fn drop(&mut self) { | 645 | 6 | unsafe { | 646 | 6 | match &self.flavor { | 647 | 3 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 3 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 6 | } |
<crossbeam_channel::channel::Sender<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1 | fn drop(&mut self) { | 645 | 1 | unsafe { | 646 | 1 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 1 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1.00k | fn drop(&mut self) { | 645 | 1.00k | unsafe { | 646 | 1.00k | match &self.flavor { | 647 | 1.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1.00k | } |
<crossbeam_channel::channel::Sender<u32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 18 | fn drop(&mut self) { | 645 | 18 | unsafe { | 646 | 18 | match &self.flavor { | 647 | 6 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 12 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 18 | } |
<crossbeam_channel::channel::Sender<i64> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 7 | fn drop(&mut self) { | 645 | 7 | unsafe { | 646 | 7 | match &self.flavor { | 647 | 3 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 4 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 7 | } |
<crossbeam_channel::channel::Sender<u8> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 30.0k | fn drop(&mut self) { | 645 | 30.0k | unsafe { | 646 | 30.0k | match &self.flavor { | 647 | 20.0k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 10.0k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 30.0k | } |
<crossbeam_channel::channel::Sender<[u8; 0]> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 1 | fn drop(&mut self) { | 645 | 1 | unsafe { | 646 | 1 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 1 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 1 | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 929k | fn drop(&mut self) { | 645 | 929k | unsafe { | 646 | 929k | match &self.flavor { | 647 | 656k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 200k | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 73.2k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 929k | } |
<crossbeam_channel::channel::Sender<bool> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 2.63k | fn drop(&mut self) { | 645 | 2.63k | unsafe { | 646 | 2.63k | match &self.flavor { | 647 | 2.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 633 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 2.63k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 3.00k | fn drop(&mut self) { | 645 | 3.00k | unsafe { | 646 | 3.00k | match &self.flavor { | 647 | 2.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 1.00k | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 3.00k | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 95 | fn drop(&mut self) { | 645 | 95 | unsafe { | 646 | 95 | match &self.flavor { | 647 | 4 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 34 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 57 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 95 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 11 | fn drop(&mut self) { | 645 | 11 | unsafe { | 646 | 11 | match &self.flavor { | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 6 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 11 | } |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 55 | fn drop(&mut self) { | 645 | 55 | unsafe { | 646 | 55 | match &self.flavor { | 647 | 7 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 16 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 32 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 55 | } |
<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 9 | fn drop(&mut self) { | 645 | 9 | unsafe { | 646 | 9 | match &self.flavor { | 647 | 2 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 3 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 4 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 9 | } |
<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 27 | fn drop(&mut self) { | 645 | 27 | unsafe { | 646 | 27 | match &self.flavor { | 647 | 0 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 20 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 7 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 27 | } |
<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 18 | fn drop(&mut self) { | 645 | 18 | unsafe { | 646 | 18 | match &self.flavor { | 647 | 4 | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 12 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 2 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 18 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 644 | 3.00k | fn drop(&mut self) { | 645 | 3.00k | unsafe { | 646 | 3.00k | match &self.flavor { | 647 | 3.00k | SenderFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 648 | 0 | SenderFlavor::List(chan) => chan.release(|c| c.disconnect()), | 649 | 0 | SenderFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 650 | | } | 651 | | } | 652 | 3.00k | } |
|
653 | | } |
654 | | |
655 | | impl<T> Clone for Sender<T> { |
656 | 958k | fn clone(&self) -> Self { |
657 | 958k | let flavor = match &self.flavor { |
658 | 676k | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), |
659 | 200k | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), |
660 | 81.8k | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), |
661 | | }; |
662 | | |
663 | 958k | Sender { flavor } |
664 | 958k | } <crossbeam_channel::channel::Sender<()> as core::clone::Clone>::clone Line | Count | Source | 656 | 3 | fn clone(&self) -> Self { | 657 | 3 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 3 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 3 | Sender { flavor } | 664 | 3 | } |
<crossbeam_channel::channel::Sender<i32> as core::clone::Clone>::clone Line | Count | Source | 656 | 1 | fn clone(&self) -> Self { | 657 | 1 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 1 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 1 | Sender { flavor } | 664 | 1 | } |
<crossbeam_channel::channel::Sender<()> as core::clone::Clone>::clone Line | Count | Source | 656 | 218 | fn clone(&self) -> Self { | 657 | 218 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 115 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 103 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 218 | Sender { flavor } | 664 | 218 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>> as core::clone::Clone>::clone Line | Count | Source | 656 | 2 | fn clone(&self) -> Self { | 657 | 2 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 2 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 2 | Sender { flavor } | 664 | 2 | } |
<crossbeam_channel::channel::Sender<i32> as core::clone::Clone>::clone Line | Count | Source | 656 | 33 | fn clone(&self) -> Self { | 657 | 33 | let flavor = match &self.flavor { | 658 | 1 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 13 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 19 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 33 | Sender { flavor } | 664 | 33 | } |
<crossbeam_channel::channel::Sender<usize> as core::clone::Clone>::clone Line | Count | Source | 656 | 101 | fn clone(&self) -> Self { | 657 | 101 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 101 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 101 | Sender { flavor } | 664 | 101 | } |
<crossbeam_channel::channel::Sender<usize> as core::clone::Clone>::clone Line | Count | Source | 656 | 3 | fn clone(&self) -> Self { | 657 | 3 | let flavor = match &self.flavor { | 658 | 1 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 1 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 1 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 3 | Sender { flavor } | 664 | 3 | } |
<crossbeam_channel::channel::Sender<usize> as core::clone::Clone>::clone Line | Count | Source | 656 | 1.00k | fn clone(&self) -> Self { | 657 | 1.00k | let flavor = match &self.flavor { | 658 | 1.00k | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 0 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 1.00k | Sender { flavor } | 664 | 1.00k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as core::clone::Clone>::clone Line | Count | Source | 656 | 4 | fn clone(&self) -> Self { | 657 | 4 | let flavor = match &self.flavor { | 658 | 4 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 0 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 4 | Sender { flavor } | 664 | 4 | } |
<crossbeam_channel::channel::Sender<i64> as core::clone::Clone>::clone Line | Count | Source | 656 | 5 | fn clone(&self) -> Self { | 657 | 5 | let flavor = match &self.flavor { | 658 | 2 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 0 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 3 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 5 | Sender { flavor } | 664 | 5 | } |
<crossbeam_channel::channel::Sender<alloc::string::String> as core::clone::Clone>::clone Line | Count | Source | 656 | 4 | fn clone(&self) -> Self { | 657 | 4 | let flavor = match &self.flavor { | 658 | 2 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 0 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 2 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 4 | Sender { flavor } | 664 | 4 | } |
<crossbeam_channel::channel::Sender<i32> as core::clone::Clone>::clone Line | Count | Source | 656 | 924k | fn clone(&self) -> Self { | 657 | 924k | let flavor = match &self.flavor { | 658 | 653k | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 200k | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 71.3k | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 924k | Sender { flavor } | 664 | 924k | } |
<crossbeam_channel::channel::Sender<u8> as core::clone::Clone>::clone Line | Count | Source | 656 | 30.0k | fn clone(&self) -> Self { | 657 | 30.0k | let flavor = match &self.flavor { | 658 | 20.0k | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 0 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 10.0k | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 30.0k | Sender { flavor } | 664 | 30.0k | } |
<crossbeam_channel::channel::Sender<u32> as core::clone::Clone>::clone Line | Count | Source | 656 | 14 | fn clone(&self) -> Self { | 657 | 14 | let flavor = match &self.flavor { | 658 | 4 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 0 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 10 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 14 | Sender { flavor } | 664 | 14 | } |
<crossbeam_channel::channel::Sender<bool> as core::clone::Clone>::clone Line | Count | Source | 656 | 2.32k | fn clone(&self) -> Self { | 657 | 2.32k | let flavor = match &self.flavor { | 658 | 2.00k | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 0 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 327 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 2.32k | Sender { flavor } | 664 | 2.32k | } |
<crossbeam_channel::channel::Sender<()> as core::clone::Clone>::clone Line | Count | Source | 656 | 3 | fn clone(&self) -> Self { | 657 | 3 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 3 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 3 | Sender { flavor } | 664 | 3 | } |
<crossbeam_channel::channel::Sender<i32> as core::clone::Clone>::clone Line | Count | Source | 656 | 1 | fn clone(&self) -> Self { | 657 | 1 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 1 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 1 | Sender { flavor } | 664 | 1 | } |
<crossbeam_channel::channel::Sender<()> as core::clone::Clone>::clone Line | Count | Source | 656 | 3 | fn clone(&self) -> Self { | 657 | 3 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 3 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 3 | Sender { flavor } | 664 | 3 | } |
<crossbeam_channel::channel::Sender<i32> as core::clone::Clone>::clone Line | Count | Source | 656 | 1 | fn clone(&self) -> Self { | 657 | 1 | let flavor = match &self.flavor { | 658 | 0 | SenderFlavor::Array(chan) => SenderFlavor::Array(chan.acquire()), | 659 | 1 | SenderFlavor::List(chan) => SenderFlavor::List(chan.acquire()), | 660 | 0 | SenderFlavor::Zero(chan) => SenderFlavor::Zero(chan.acquire()), | 661 | | }; | 662 | | | 663 | 1 | Sender { flavor } | 664 | 1 | } |
|
665 | | } |
666 | | |
667 | | impl<T> fmt::Debug for Sender<T> { |
668 | | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
669 | | f.pad("Sender { .. }") |
670 | | } |
671 | | } |
672 | | |
673 | | /// The receiving side of a channel. |
674 | | /// |
675 | | /// # Examples |
676 | | /// |
677 | | /// ``` |
678 | | /// use std::thread; |
679 | | /// use std::time::Duration; |
680 | | /// use crossbeam_channel::unbounded; |
681 | | /// |
682 | | /// let (s, r) = unbounded(); |
683 | | /// |
684 | | /// thread::spawn(move || { |
685 | | /// let _ = s.send(1); |
686 | | /// thread::sleep(Duration::from_secs(1)); |
687 | | /// let _ = s.send(2); |
688 | | /// }); |
689 | | /// |
690 | | /// assert_eq!(r.recv(), Ok(1)); // Received immediately. |
691 | | /// assert_eq!(r.recv(), Ok(2)); // Received after 1 second. |
692 | | /// ``` |
693 | | pub struct Receiver<T> { |
694 | | flavor: ReceiverFlavor<T>, |
695 | | } |
696 | | |
697 | | /// Receiver flavors. |
698 | | enum ReceiverFlavor<T> { |
699 | | /// Bounded channel based on a preallocated array. |
700 | | Array(counter::Receiver<flavors::array::Channel<T>>), |
701 | | |
702 | | /// Unbounded channel implemented as a linked list. |
703 | | List(counter::Receiver<flavors::list::Channel<T>>), |
704 | | |
705 | | /// Zero-capacity channel. |
706 | | Zero(counter::Receiver<flavors::zero::Channel<T>>), |
707 | | |
708 | | /// The after flavor. |
709 | | At(Arc<flavors::at::Channel>), |
710 | | |
711 | | /// The tick flavor. |
712 | | Tick(Arc<flavors::tick::Channel>), |
713 | | |
714 | | /// The never flavor. |
715 | | Never(flavors::never::Channel<T>), |
716 | | } |
717 | | |
718 | | unsafe impl<T: Send> Send for Receiver<T> {} |
719 | | unsafe impl<T: Send> Sync for Receiver<T> {} |
720 | | |
721 | | impl<T> UnwindSafe for Receiver<T> {} |
722 | | impl<T> RefUnwindSafe for Receiver<T> {} |
723 | | |
724 | | impl<T> Receiver<T> { |
725 | | /// Attempts to receive a message from the channel without blocking. |
726 | | /// |
727 | | /// This method will either receive a message from the channel immediately or return an error |
728 | | /// if the channel is empty. |
729 | | /// |
730 | | /// If called on a zero-capacity channel, this method will receive a message only if there |
731 | | /// happens to be a send operation on the other side of the channel at the same time. |
732 | | /// |
733 | | /// # Examples |
734 | | /// |
735 | | /// ``` |
736 | | /// use crossbeam_channel::{unbounded, TryRecvError}; |
737 | | /// |
738 | | /// let (s, r) = unbounded(); |
739 | | /// assert_eq!(r.try_recv(), Err(TryRecvError::Empty)); |
740 | | /// |
741 | | /// s.send(5).unwrap(); |
742 | | /// drop(s); |
743 | | /// |
744 | | /// assert_eq!(r.try_recv(), Ok(5)); |
745 | | /// assert_eq!(r.try_recv(), Err(TryRecvError::Disconnected)); |
746 | | /// ``` |
747 | 71.6M | pub fn try_recv(&self) -> Result<T, TryRecvError> { |
748 | 71.6M | match &self.flavor { |
749 | 1.06M | ReceiverFlavor::Array(chan) => chan.try_recv(), |
750 | 1.15M | ReceiverFlavor::List(chan) => chan.try_recv(), |
751 | 69.4M | ReceiverFlavor::Zero(chan) => chan.try_recv(), |
752 | 13.5k | ReceiverFlavor::At(chan) => { |
753 | 13.5k | let msg = chan.try_recv(); |
754 | 13.5k | unsafe { |
755 | 13.5k | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( |
756 | 13.5k | &msg, |
757 | 13.5k | ) |
758 | | } |
759 | | } |
760 | 2.63k | ReceiverFlavor::Tick(chan) => { |
761 | 2.63k | let msg = chan.try_recv(); |
762 | 2.63k | unsafe { |
763 | 2.63k | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( |
764 | 2.63k | &msg, |
765 | 2.63k | ) |
766 | | } |
767 | | } |
768 | 4 | ReceiverFlavor::Never(chan) => chan.try_recv(), |
769 | | } |
770 | 71.6M | } <crossbeam_channel::channel::Receiver<usize>>::try_recv Line | Count | Source | 747 | 3.39k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 3.39k | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 3.39k | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 3.39k | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 4 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 4 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 4 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 4 | } |
<crossbeam_channel::channel::Receiver<usize>>::try_recv Line | Count | Source | 747 | 4 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 4 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 4 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 4 | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 3.31M | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 3.31M | match &self.flavor { | 749 | 388k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 397k | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 2.53M | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 3.31M | } |
<crossbeam_channel::channel::Receiver<()>>::try_recv Line | Count | Source | 747 | 2 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 2 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 2 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 2 | } |
<crossbeam_channel::channel::Receiver<()>>::try_recv Line | Count | Source | 747 | 2 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 2 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 2 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 2 | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 1.63k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 1.63k | match &self.flavor { | 749 | 8 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 1.61k | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 5 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 1.63k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::try_recv Line | Count | Source | 747 | 11.0k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 11.0k | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 11.0k | ReceiverFlavor::At(chan) => { | 753 | 11.0k | let msg = chan.try_recv(); | 754 | 11.0k | unsafe { | 755 | 11.0k | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 11.0k | &msg, | 757 | 11.0k | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 11.0k | } |
<crossbeam_channel::channel::Receiver<usize>>::try_recv Line | Count | Source | 747 | 200k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 200k | match &self.flavor { | 749 | 200k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 200k | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 99.8k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 99.8k | match &self.flavor { | 749 | 99.8k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 99.8k | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 51 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 51 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 51 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 51 | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 5 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 5 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 1 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 4 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 5 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::try_recv Line | Count | Source | 747 | 54 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 54 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 4 | ReceiverFlavor::At(chan) => { | 753 | 4 | let msg = chan.try_recv(); | 754 | 4 | unsafe { | 755 | 4 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 4 | &msg, | 757 | 4 | ) | 758 | | } | 759 | | } | 760 | 50 | ReceiverFlavor::Tick(chan) => { | 761 | 50 | let msg = chan.try_recv(); | 762 | 50 | unsafe { | 763 | 50 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 50 | &msg, | 765 | 50 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 54 | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 99.9k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 99.9k | match &self.flavor { | 749 | 1 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 99.9k | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 99.9k | } |
<crossbeam_channel::channel::Receiver<usize>>::try_recv Line | Count | Source | 747 | 200k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 200k | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 200k | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 200k | } |
<crossbeam_channel::channel::Receiver<alloc::string::String>>::try_recv Line | Count | Source | 747 | 5 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 5 | match &self.flavor { | 749 | 2 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 3 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 5 | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 3.80k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 3.80k | match &self.flavor { | 749 | 3.79k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 7 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 3.80k | } |
<crossbeam_channel::channel::Receiver<i64>>::try_recv Line | Count | Source | 747 | 5 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 5 | match &self.flavor { | 749 | 2 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 3 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 5 | } |
<crossbeam_channel::channel::Receiver<bool>>::try_recv Line | Count | Source | 747 | 5 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 5 | match &self.flavor { | 749 | 2 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 3 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 5 | } |
<crossbeam_channel::channel::Receiver<()>>::try_recv Line | Count | Source | 747 | 34.6M | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 34.6M | match &self.flavor { | 749 | 18.2k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 3 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 34.6M | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 34.6M | } |
<crossbeam_channel::channel::Receiver<usize>>::try_recv Line | Count | Source | 747 | 2 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 2 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 2 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 2 | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 32.9M | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 32.9M | match &self.flavor { | 749 | 296k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 397k | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 32.2M | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 32.9M | } |
<crossbeam_channel::channel::Receiver<usize>>::try_recv Line | Count | Source | 747 | 29.8k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 29.8k | match &self.flavor { | 749 | 9.87k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 10.0k | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 10.0k | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 29.8k | } |
<crossbeam_channel::channel::Receiver<i32>>::try_recv Line | Count | Source | 747 | 19 | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 19 | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 17 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 2 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 19 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::try_recv Line | Count | Source | 747 | 3.00k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 3.00k | match &self.flavor { | 749 | 3.00k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 3.00k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::try_recv Line | Count | Source | 747 | 5.08k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 5.08k | match &self.flavor { | 749 | 0 | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 0 | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 0 | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 2.50k | ReceiverFlavor::At(chan) => { | 753 | 2.50k | let msg = chan.try_recv(); | 754 | 2.50k | unsafe { | 755 | 2.50k | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 2.50k | &msg, | 757 | 2.50k | ) | 758 | | } | 759 | | } | 760 | 2.58k | ReceiverFlavor::Tick(chan) => { | 761 | 2.58k | let msg = chan.try_recv(); | 762 | 2.58k | unsafe { | 763 | 2.58k | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 2.58k | &msg, | 765 | 2.58k | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 5.08k | } |
<crossbeam_channel::channel::Receiver<()>>::try_recv Line | Count | Source | 747 | 104k | pub fn try_recv(&self) -> Result<T, TryRecvError> { | 748 | 104k | match &self.flavor { | 749 | 44.3k | ReceiverFlavor::Array(chan) => chan.try_recv(), | 750 | 44.1k | ReceiverFlavor::List(chan) => chan.try_recv(), | 751 | 16.2k | ReceiverFlavor::Zero(chan) => chan.try_recv(), | 752 | 0 | ReceiverFlavor::At(chan) => { | 753 | 0 | let msg = chan.try_recv(); | 754 | 0 | unsafe { | 755 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 756 | 0 | &msg, | 757 | 0 | ) | 758 | | } | 759 | | } | 760 | 0 | ReceiverFlavor::Tick(chan) => { | 761 | 0 | let msg = chan.try_recv(); | 762 | 0 | unsafe { | 763 | 0 | mem::transmute_copy::<Result<Instant, TryRecvError>, Result<T, TryRecvError>>( | 764 | 0 | &msg, | 765 | 0 | ) | 766 | | } | 767 | | } | 768 | 0 | ReceiverFlavor::Never(chan) => chan.try_recv(), | 769 | | } | 770 | 104k | } |
|
771 | | |
772 | | /// Blocks the current thread until a message is received or the channel is empty and |
773 | | /// disconnected. |
774 | | /// |
775 | | /// If the channel is empty and not disconnected, this call will block until the receive |
776 | | /// operation can proceed. If the channel is empty and becomes disconnected, this call will |
777 | | /// wake up and return an error. |
778 | | /// |
779 | | /// If called on a zero-capacity channel, this method will wait for a send operation to appear |
780 | | /// on the other side of the channel. |
781 | | /// |
782 | | /// # Examples |
783 | | /// |
784 | | /// ``` |
785 | | /// use std::thread; |
786 | | /// use std::time::Duration; |
787 | | /// use crossbeam_channel::{unbounded, RecvError}; |
788 | | /// |
789 | | /// let (s, r) = unbounded(); |
790 | | /// |
791 | | /// thread::spawn(move || { |
792 | | /// thread::sleep(Duration::from_secs(1)); |
793 | | /// s.send(5).unwrap(); |
794 | | /// drop(s); |
795 | | /// }); |
796 | | /// |
797 | | /// assert_eq!(r.recv(), Ok(5)); |
798 | | /// assert_eq!(r.recv(), Err(RecvError)); |
799 | | /// ``` |
800 | 4.63M | pub fn recv(&self) -> Result<T, RecvError> { |
801 | 4.63M | match &self.flavor { |
802 | 1.58M | ReceiverFlavor::Array(chan) => chan.recv(None), |
803 | 887k | ReceiverFlavor::List(chan) => chan.recv(None), |
804 | 2.16M | ReceiverFlavor::Zero(chan) => chan.recv(None), |
805 | 1 | ReceiverFlavor::At(chan) => { |
806 | 1 | let msg = chan.recv(None); |
807 | 1 | unsafe { |
808 | 1 | mem::transmute_copy::< |
809 | 1 | Result<Instant, RecvTimeoutError>, |
810 | 1 | Result<T, RecvTimeoutError>, |
811 | 1 | >(&msg) |
812 | | } |
813 | | } |
814 | 17 | ReceiverFlavor::Tick(chan) => { |
815 | 17 | let msg = chan.recv(None); |
816 | 17 | unsafe { |
817 | 17 | mem::transmute_copy::< |
818 | 17 | Result<Instant, RecvTimeoutError>, |
819 | 17 | Result<T, RecvTimeoutError>, |
820 | 17 | >(&msg) |
821 | | } |
822 | | } |
823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), |
824 | | } |
825 | 292 | .map_err(|_| RecvError) <crossbeam_channel::channel::Receiver<usize>>::recv::{closure#0} Line | Count | Source | 825 | 1 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<()>>::recv::{closure#0} Line | Count | Source | 825 | 2 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<i32>>::recv::{closure#0} Line | Count | Source | 825 | 1 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<i32>>::recv::{closure#0} Line | Count | Source | 825 | 15 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>>>::recv::{closure#0} Line | Count | Source | 825 | 2 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<()>>::recv::{closure#0} Line | Count | Source | 825 | 5 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<i32>>::recv::{closure#0} Line | Count | Source | 825 | 2 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<()>>::recv::{closure#0} Line | Count | Source | 825 | 2 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<usize>>::recv::{closure#0} Line | Count | Source | 825 | 1 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<i32>>::recv::{closure#0} Line | Count | Source | 825 | 3 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<i32>>::recv::{closure#0} Line | Count | Source | 825 | 2 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<()>>::recv::{closure#0} Line | Count | Source | 825 | 2 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<usize>>::recv::{closure#0} Line | Count | Source | 825 | 1 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<i32>>::recv::{closure#0} Line | Count | Source | 825 | 247 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<()>>::recv::{closure#0} Line | Count | Source | 825 | 2 | .map_err(|_| RecvError) |
<crossbeam_channel::channel::Receiver<i32>>::recv::{closure#0} Line | Count | Source | 825 | 4 | .map_err(|_| RecvError) |
|
826 | 4.63M | } <crossbeam_channel::channel::Receiver<zero::drops::DropCounter>>::recv Line | Count | Source | 800 | 155k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 155k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 155k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 155k | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 1.00k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 1.00k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 1.00k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 1.00k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::recv Line | Count | Source | 800 | 1.00k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 1.00k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 1.00k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 1.00k | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 10.0k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 10.0k | match &self.flavor { | 802 | 10.0k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 10 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 10.0k | } |
<crossbeam_channel::channel::Receiver<usize>>::recv Line | Count | Source | 800 | 223k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 223k | match &self.flavor { | 802 | 78 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 223k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 223k | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 846k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 846k | match &self.flavor { | 802 | 49.3k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 3 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 796k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 846k | } |
<crossbeam_channel::channel::Receiver<usize>>::recv Line | Count | Source | 800 | 39.8k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 39.8k | match &self.flavor { | 802 | 23 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 39.8k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 39.8k | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 3 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 3 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 1 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 2 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 3 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 106k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 106k | match &self.flavor { | 802 | 18.4E | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 89.1k | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 17.9k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 106k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<isize>>>::recv Line | Count | Source | 800 | 1 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 1 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 1 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 1 | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 30.4k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 30.4k | match &self.flavor { | 802 | 10.1k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 20.1k | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 106 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 30.4k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>>>::recv Line | Count | Source | 800 | 27 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 27 | match &self.flavor { | 802 | 1 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 13 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 13 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 27 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::recv Line | Count | Source | 800 | 1 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 1 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 1 | ReceiverFlavor::At(chan) => { | 806 | 1 | let msg = chan.recv(None); | 807 | 1 | unsafe { | 808 | 1 | mem::transmute_copy::< | 809 | 1 | Result<Instant, RecvTimeoutError>, | 810 | 1 | Result<T, RecvTimeoutError>, | 811 | 1 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 1 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::recv Line | Count | Source | 800 | 1.00k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 1.00k | match &self.flavor { | 802 | 1.00k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 1.00k | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 100k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 100k | match &self.flavor { | 802 | 100k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 100k | } |
<crossbeam_channel::channel::Receiver<array::drops::DropCounter>>::recv Line | Count | Source | 800 | 490k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 490k | match &self.flavor { | 802 | 490k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 490k | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 10.0k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 10.0k | match &self.flavor { | 802 | 10.0k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 10.0k | } |
<crossbeam_channel::channel::Receiver<usize>>::recv Line | Count | Source | 800 | 224k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 224k | match &self.flavor { | 802 | 224k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 224k | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 4 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 4 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 4 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 4 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 14 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 14 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 14 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 14 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()>>::recv <crossbeam_channel::channel::Receiver<std::time::Instant>>::recv Line | Count | Source | 800 | 3 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 3 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 3 | ReceiverFlavor::Tick(chan) => { | 815 | 3 | let msg = chan.recv(None); | 816 | 3 | unsafe { | 817 | 3 | mem::transmute_copy::< | 818 | 3 | Result<Instant, RecvTimeoutError>, | 819 | 3 | Result<T, RecvTimeoutError>, | 820 | 3 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 3 | } |
<crossbeam_channel::channel::Receiver<list::drops::DropCounter>>::recv Line | Count | Source | 800 | 471k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 471k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 471k | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 471k | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 10.0k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 10.0k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 10.0k | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 10.0k | } |
<crossbeam_channel::channel::Receiver<usize>>::recv Line | Count | Source | 800 | 195k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 195k | match &self.flavor { | 802 | 616 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 195k | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 195k | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 100k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 100k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 100k | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 100k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::recv Line | Count | Source | 800 | 1.00k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 1.00k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 1.00k | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 1.00k | } |
<crossbeam_channel::channel::Receiver<i64>>::recv Line | Count | Source | 800 | 2 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 2 | match &self.flavor { | 802 | 1 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 1 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 2 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::recv Line | Count | Source | 800 | 14 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 14 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 14 | ReceiverFlavor::Tick(chan) => { | 815 | 14 | let msg = chan.recv(None); | 816 | 14 | unsafe { | 817 | 14 | mem::transmute_copy::< | 818 | 14 | Result<Instant, RecvTimeoutError>, | 819 | 14 | Result<T, RecvTimeoutError>, | 820 | 14 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 14 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 669k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 669k | match &self.flavor { | 802 | 628k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 40.3k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 669k | } |
<crossbeam_channel::channel::Receiver<usize>>::recv Line | Count | Source | 800 | 1.01k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 1.01k | match &self.flavor { | 802 | 1.01k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 1.01k | } |
<crossbeam_channel::channel::Receiver<bool>>::recv Line | Count | Source | 800 | 2.32k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 2.32k | match &self.flavor { | 802 | 1.99k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 324 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 2.32k | } |
<crossbeam_channel::channel::Receiver<u32>>::recv Line | Count | Source | 800 | 2 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 2 | match &self.flavor { | 802 | 2 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 2 | } |
<crossbeam_channel::channel::Receiver<u8>>::recv Line | Count | Source | 800 | 10.0k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 10.0k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 10.0k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 10.0k | } |
<crossbeam_channel::channel::Receiver<alloc::string::String>>::recv Line | Count | Source | 800 | 2 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 2 | match &self.flavor { | 802 | 1 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 1 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 2 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv Line | Count | Source | 800 | 30.0k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 30.0k | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 30.0k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 30.0k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>::recv Line | Count | Source | 800 | 3.00k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 3.00k | match &self.flavor { | 802 | 2.00k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 1.00k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 3.00k | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 18 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 18 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 6 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 12 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 18 | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 835k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 835k | match &self.flavor { | 802 | 39.6k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 7 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 796k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 835k | } |
<crossbeam_channel::channel::Receiver<usize>>::recv Line | Count | Source | 800 | 29.8k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 29.8k | match &self.flavor { | 802 | 17 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 0 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 29.8k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 29.8k | } |
<crossbeam_channel::channel::Receiver<()>>::recv Line | Count | Source | 800 | 39.7k | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 39.7k | match &self.flavor { | 802 | 19.7k | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 3 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 20.0k | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 39.7k | } |
<crossbeam_channel::channel::Receiver<i32>>::recv Line | Count | Source | 800 | 3 | pub fn recv(&self) -> Result<T, RecvError> { | 801 | 3 | match &self.flavor { | 802 | 0 | ReceiverFlavor::Array(chan) => chan.recv(None), | 803 | 1 | ReceiverFlavor::List(chan) => chan.recv(None), | 804 | 2 | ReceiverFlavor::Zero(chan) => chan.recv(None), | 805 | 0 | ReceiverFlavor::At(chan) => { | 806 | 0 | let msg = chan.recv(None); | 807 | 0 | unsafe { | 808 | 0 | mem::transmute_copy::< | 809 | 0 | Result<Instant, RecvTimeoutError>, | 810 | 0 | Result<T, RecvTimeoutError>, | 811 | 0 | >(&msg) | 812 | | } | 813 | | } | 814 | 0 | ReceiverFlavor::Tick(chan) => { | 815 | 0 | let msg = chan.recv(None); | 816 | 0 | unsafe { | 817 | 0 | mem::transmute_copy::< | 818 | 0 | Result<Instant, RecvTimeoutError>, | 819 | 0 | Result<T, RecvTimeoutError>, | 820 | 0 | >(&msg) | 821 | | } | 822 | | } | 823 | 0 | ReceiverFlavor::Never(chan) => chan.recv(None), | 824 | | } | 825 | | .map_err(|_| RecvError) | 826 | 3 | } |
|
827 | | |
828 | | /// Waits for a message to be received from the channel, but only for a limited time. |
829 | | /// |
830 | | /// If the channel is empty and not disconnected, this call will block until the receive |
831 | | /// operation can proceed or the operation times out. If the channel is empty and becomes |
832 | | /// disconnected, this call will wake up and return an error. |
833 | | /// |
834 | | /// If called on a zero-capacity channel, this method will wait for a send operation to appear |
835 | | /// on the other side of the channel. |
836 | | /// |
837 | | /// # Examples |
838 | | /// |
839 | | /// ``` |
840 | | /// use std::thread; |
841 | | /// use std::time::Duration; |
842 | | /// use crossbeam_channel::{unbounded, RecvTimeoutError}; |
843 | | /// |
844 | | /// let (s, r) = unbounded(); |
845 | | /// |
846 | | /// thread::spawn(move || { |
847 | | /// thread::sleep(Duration::from_secs(1)); |
848 | | /// s.send(5).unwrap(); |
849 | | /// drop(s); |
850 | | /// }); |
851 | | /// |
852 | | /// assert_eq!( |
853 | | /// r.recv_timeout(Duration::from_millis(500)), |
854 | | /// Err(RecvTimeoutError::Timeout), |
855 | | /// ); |
856 | | /// assert_eq!( |
857 | | /// r.recv_timeout(Duration::from_secs(1)), |
858 | | /// Ok(5), |
859 | | /// ); |
860 | | /// assert_eq!( |
861 | | /// r.recv_timeout(Duration::from_secs(1)), |
862 | | /// Err(RecvTimeoutError::Disconnected), |
863 | | /// ); |
864 | | /// ``` |
865 | 18.5k | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { |
866 | 18.5k | self.recv_deadline(Instant::now() + timeout) |
867 | 18.5k | } <crossbeam_channel::channel::Receiver<i32>>::recv_timeout Line | Count | Source | 865 | 3 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 3 | self.recv_deadline(Instant::now() + timeout) | 867 | 3 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_timeout Line | Count | Source | 865 | 100 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 100 | self.recv_deadline(Instant::now() + timeout) | 867 | 100 | } |
<crossbeam_channel::channel::Receiver<()>>::recv_timeout Line | Count | Source | 865 | 6 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 6 | self.recv_deadline(Instant::now() + timeout) | 867 | 6 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_timeout Line | Count | Source | 865 | 272 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 272 | self.recv_deadline(Instant::now() + timeout) | 867 | 272 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_timeout Line | Count | Source | 865 | 17.9k | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 17.9k | self.recv_deadline(Instant::now() + timeout) | 867 | 17.9k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::recv_timeout Line | Count | Source | 865 | 3 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 3 | self.recv_deadline(Instant::now() + timeout) | 867 | 3 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_timeout Line | Count | Source | 865 | 100 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 100 | self.recv_deadline(Instant::now() + timeout) | 867 | 100 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_timeout Line | Count | Source | 865 | 4 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 4 | self.recv_deadline(Instant::now() + timeout) | 867 | 4 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::recv_timeout Line | Count | Source | 865 | 11 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 11 | self.recv_deadline(Instant::now() + timeout) | 867 | 11 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_timeout Line | Count | Source | 865 | 2 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 2 | self.recv_deadline(Instant::now() + timeout) | 867 | 2 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::recv_timeout Line | Count | Source | 865 | 4 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 4 | self.recv_deadline(Instant::now() + timeout) | 867 | 4 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_timeout Line | Count | Source | 865 | 4 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 4 | self.recv_deadline(Instant::now() + timeout) | 867 | 4 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_timeout Line | Count | Source | 865 | 100 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 100 | self.recv_deadline(Instant::now() + timeout) | 867 | 100 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_timeout Line | Count | Source | 865 | 6 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 6 | self.recv_deadline(Instant::now() + timeout) | 867 | 6 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_timeout Line | Count | Source | 865 | 20 | pub fn recv_timeout(&self, timeout: Duration) -> Result<T, RecvTimeoutError> { | 866 | 20 | self.recv_deadline(Instant::now() + timeout) | 867 | 20 | } |
|
868 | | |
869 | | /// Waits for a message to be received from the channel, but only before a given deadline. |
870 | | /// |
871 | | /// If the channel is empty and not disconnected, this call will block until the receive |
872 | | /// operation can proceed or the operation times out. If the channel is empty and becomes |
873 | | /// disconnected, this call will wake up and return an error. |
874 | | /// |
875 | | /// If called on a zero-capacity channel, this method will wait for a send operation to appear |
876 | | /// on the other side of the channel. |
877 | | /// |
878 | | /// # Examples |
879 | | /// |
880 | | /// ``` |
881 | | /// use std::thread; |
882 | | /// use std::time::{Instant, Duration}; |
883 | | /// use crossbeam_channel::{unbounded, RecvTimeoutError}; |
884 | | /// |
885 | | /// let (s, r) = unbounded(); |
886 | | /// |
887 | | /// thread::spawn(move || { |
888 | | /// thread::sleep(Duration::from_secs(1)); |
889 | | /// s.send(5).unwrap(); |
890 | | /// drop(s); |
891 | | /// }); |
892 | | /// |
893 | | /// let now = Instant::now(); |
894 | | /// |
895 | | /// assert_eq!( |
896 | | /// r.recv_deadline(now + Duration::from_millis(500)), |
897 | | /// Err(RecvTimeoutError::Timeout), |
898 | | /// ); |
899 | | /// assert_eq!( |
900 | | /// r.recv_deadline(now + Duration::from_millis(1500)), |
901 | | /// Ok(5), |
902 | | /// ); |
903 | | /// assert_eq!( |
904 | | /// r.recv_deadline(now + Duration::from_secs(5)), |
905 | | /// Err(RecvTimeoutError::Disconnected), |
906 | | /// ); |
907 | | /// ``` |
908 | 18.5k | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { |
909 | 18.5k | match &self.flavor { |
910 | 128 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), |
911 | 384 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), |
912 | 18.0k | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), |
913 | 3 | ReceiverFlavor::At(chan) => { |
914 | 3 | let msg = chan.recv(Some(deadline)); |
915 | 3 | unsafe { |
916 | 3 | mem::transmute_copy::< |
917 | 3 | Result<Instant, RecvTimeoutError>, |
918 | 3 | Result<T, RecvTimeoutError>, |
919 | 3 | >(&msg) |
920 | | } |
921 | | } |
922 | 14 | ReceiverFlavor::Tick(chan) => { |
923 | 14 | let msg = chan.recv(Some(deadline)); |
924 | 14 | unsafe { |
925 | 14 | mem::transmute_copy::< |
926 | 14 | Result<Instant, RecvTimeoutError>, |
927 | 14 | Result<T, RecvTimeoutError>, |
928 | 14 | >(&msg) |
929 | | } |
930 | | } |
931 | 3 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), |
932 | | } |
933 | 18.5k | } <crossbeam_channel::channel::Receiver<usize>>::recv_deadline Line | Count | Source | 908 | 100 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 100 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 100 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 100 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_deadline Line | Count | Source | 908 | 3 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 3 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 3 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::recv_deadline Line | Count | Source | 908 | 6 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 6 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 6 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 6 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_deadline Line | Count | Source | 908 | 272 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 272 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 272 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 272 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_deadline Line | Count | Source | 908 | 17.9k | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 17.9k | match &self.flavor { | 910 | 4 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 17.9k | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 17.9k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::recv_deadline Line | Count | Source | 908 | 3 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 3 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 3 | ReceiverFlavor::At(chan) => { | 914 | 3 | let msg = chan.recv(Some(deadline)); | 915 | 3 | unsafe { | 916 | 3 | mem::transmute_copy::< | 917 | 3 | Result<Instant, RecvTimeoutError>, | 918 | 3 | Result<T, RecvTimeoutError>, | 919 | 3 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 3 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_deadline Line | Count | Source | 908 | 100 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 100 | match &self.flavor { | 910 | 100 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 100 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_deadline Line | Count | Source | 908 | 4 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 4 | match &self.flavor { | 910 | 4 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()>>::recv_deadline <crossbeam_channel::channel::Receiver<std::time::Instant>>::recv_deadline Line | Count | Source | 908 | 11 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 11 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 10 | ReceiverFlavor::Tick(chan) => { | 923 | 10 | let msg = chan.recv(Some(deadline)); | 924 | 10 | unsafe { | 925 | 10 | mem::transmute_copy::< | 926 | 10 | Result<Instant, RecvTimeoutError>, | 927 | 10 | Result<T, RecvTimeoutError>, | 928 | 10 | >(&msg) | 929 | | } | 930 | | } | 931 | 1 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 11 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_deadline Line | Count | Source | 908 | 2 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 2 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 2 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 2 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::recv_deadline Line | Count | Source | 908 | 4 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 4 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 4 | ReceiverFlavor::Tick(chan) => { | 923 | 4 | let msg = chan.recv(Some(deadline)); | 924 | 4 | unsafe { | 925 | 4 | mem::transmute_copy::< | 926 | 4 | Result<Instant, RecvTimeoutError>, | 927 | 4 | Result<T, RecvTimeoutError>, | 928 | 4 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 4 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_deadline Line | Count | Source | 908 | 4 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 4 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 4 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 4 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_deadline Line | Count | Source | 908 | 100 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 100 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 100 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 100 | } |
<crossbeam_channel::channel::Receiver<usize>>::recv_deadline Line | Count | Source | 908 | 20 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 20 | match &self.flavor { | 910 | 20 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 0 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 0 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 20 | } |
<crossbeam_channel::channel::Receiver<i32>>::recv_deadline Line | Count | Source | 908 | 6 | pub fn recv_deadline(&self, deadline: Instant) -> Result<T, RecvTimeoutError> { | 909 | 6 | match &self.flavor { | 910 | 0 | ReceiverFlavor::Array(chan) => chan.recv(Some(deadline)), | 911 | 2 | ReceiverFlavor::List(chan) => chan.recv(Some(deadline)), | 912 | 4 | ReceiverFlavor::Zero(chan) => chan.recv(Some(deadline)), | 913 | 0 | ReceiverFlavor::At(chan) => { | 914 | 0 | let msg = chan.recv(Some(deadline)); | 915 | 0 | unsafe { | 916 | 0 | mem::transmute_copy::< | 917 | 0 | Result<Instant, RecvTimeoutError>, | 918 | 0 | Result<T, RecvTimeoutError>, | 919 | 0 | >(&msg) | 920 | | } | 921 | | } | 922 | 0 | ReceiverFlavor::Tick(chan) => { | 923 | 0 | let msg = chan.recv(Some(deadline)); | 924 | 0 | unsafe { | 925 | 0 | mem::transmute_copy::< | 926 | 0 | Result<Instant, RecvTimeoutError>, | 927 | 0 | Result<T, RecvTimeoutError>, | 928 | 0 | >(&msg) | 929 | | } | 930 | | } | 931 | 0 | ReceiverFlavor::Never(chan) => chan.recv(Some(deadline)), | 932 | | } | 933 | 6 | } |
|
934 | | |
935 | | /// Returns `true` if the channel is empty. |
936 | | /// |
937 | | /// Note: Zero-capacity channels are always empty. |
938 | | /// |
939 | | /// # Examples |
940 | | /// |
941 | | /// ``` |
942 | | /// use crossbeam_channel::unbounded; |
943 | | /// |
944 | | /// let (s, r) = unbounded(); |
945 | | /// |
946 | | /// assert!(r.is_empty()); |
947 | | /// s.send(0).unwrap(); |
948 | | /// assert!(!r.is_empty()); |
949 | | /// ``` |
950 | 16 | pub fn is_empty(&self) -> bool { |
951 | 16 | match &self.flavor { |
952 | 4 | ReceiverFlavor::Array(chan) => chan.is_empty(), |
953 | 3 | ReceiverFlavor::List(chan) => chan.is_empty(), |
954 | 2 | ReceiverFlavor::Zero(chan) => chan.is_empty(), |
955 | 3 | ReceiverFlavor::At(chan) => chan.is_empty(), |
956 | 3 | ReceiverFlavor::Tick(chan) => chan.is_empty(), |
957 | 1 | ReceiverFlavor::Never(chan) => chan.is_empty(), |
958 | | } |
959 | 16 | } <crossbeam_channel::channel::Receiver<i32>>::is_empty Line | Count | Source | 950 | 2 | pub fn is_empty(&self) -> bool { | 951 | 2 | match &self.flavor { | 952 | 0 | ReceiverFlavor::Array(chan) => chan.is_empty(), | 953 | 0 | ReceiverFlavor::List(chan) => chan.is_empty(), | 954 | 2 | ReceiverFlavor::Zero(chan) => chan.is_empty(), | 955 | 0 | ReceiverFlavor::At(chan) => chan.is_empty(), | 956 | 0 | ReceiverFlavor::Tick(chan) => chan.is_empty(), | 957 | 0 | ReceiverFlavor::Never(chan) => chan.is_empty(), | 958 | | } | 959 | 2 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::is_empty Line | Count | Source | 950 | 3 | pub fn is_empty(&self) -> bool { | 951 | 3 | match &self.flavor { | 952 | 0 | ReceiverFlavor::Array(chan) => chan.is_empty(), | 953 | 0 | ReceiverFlavor::List(chan) => chan.is_empty(), | 954 | 0 | ReceiverFlavor::Zero(chan) => chan.is_empty(), | 955 | 3 | ReceiverFlavor::At(chan) => chan.is_empty(), | 956 | 0 | ReceiverFlavor::Tick(chan) => chan.is_empty(), | 957 | 0 | ReceiverFlavor::Never(chan) => chan.is_empty(), | 958 | | } | 959 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::is_empty Line | Count | Source | 950 | 4 | pub fn is_empty(&self) -> bool { | 951 | 4 | match &self.flavor { | 952 | 4 | ReceiverFlavor::Array(chan) => chan.is_empty(), | 953 | 0 | ReceiverFlavor::List(chan) => chan.is_empty(), | 954 | 0 | ReceiverFlavor::Zero(chan) => chan.is_empty(), | 955 | 0 | ReceiverFlavor::At(chan) => chan.is_empty(), | 956 | 0 | ReceiverFlavor::Tick(chan) => chan.is_empty(), | 957 | 0 | ReceiverFlavor::Never(chan) => chan.is_empty(), | 958 | | } | 959 | 4 | } |
<crossbeam_channel::channel::Receiver<i32>>::is_empty Line | Count | Source | 950 | 1 | pub fn is_empty(&self) -> bool { | 951 | 1 | match &self.flavor { | 952 | 0 | ReceiverFlavor::Array(chan) => chan.is_empty(), | 953 | 0 | ReceiverFlavor::List(chan) => chan.is_empty(), | 954 | 0 | ReceiverFlavor::Zero(chan) => chan.is_empty(), | 955 | 0 | ReceiverFlavor::At(chan) => chan.is_empty(), | 956 | 0 | ReceiverFlavor::Tick(chan) => chan.is_empty(), | 957 | 1 | ReceiverFlavor::Never(chan) => chan.is_empty(), | 958 | | } | 959 | 1 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::is_empty Line | Count | Source | 950 | 3 | pub fn is_empty(&self) -> bool { | 951 | 3 | match &self.flavor { | 952 | 0 | ReceiverFlavor::Array(chan) => chan.is_empty(), | 953 | 0 | ReceiverFlavor::List(chan) => chan.is_empty(), | 954 | 0 | ReceiverFlavor::Zero(chan) => chan.is_empty(), | 955 | 0 | ReceiverFlavor::At(chan) => chan.is_empty(), | 956 | 3 | ReceiverFlavor::Tick(chan) => chan.is_empty(), | 957 | 0 | ReceiverFlavor::Never(chan) => chan.is_empty(), | 958 | | } | 959 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::is_empty Line | Count | Source | 950 | 3 | pub fn is_empty(&self) -> bool { | 951 | 3 | match &self.flavor { | 952 | 0 | ReceiverFlavor::Array(chan) => chan.is_empty(), | 953 | 3 | ReceiverFlavor::List(chan) => chan.is_empty(), | 954 | 0 | ReceiverFlavor::Zero(chan) => chan.is_empty(), | 955 | 0 | ReceiverFlavor::At(chan) => chan.is_empty(), | 956 | 0 | ReceiverFlavor::Tick(chan) => chan.is_empty(), | 957 | 0 | ReceiverFlavor::Never(chan) => chan.is_empty(), | 958 | | } | 959 | 3 | } |
|
960 | | |
961 | | /// Returns `true` if the channel is full. |
962 | | /// |
963 | | /// Note: Zero-capacity channels are always full. |
964 | | /// |
965 | | /// # Examples |
966 | | /// |
967 | | /// ``` |
968 | | /// use crossbeam_channel::bounded; |
969 | | /// |
970 | | /// let (s, r) = bounded(1); |
971 | | /// |
972 | | /// assert!(!r.is_full()); |
973 | | /// s.send(0).unwrap(); |
974 | | /// assert!(r.is_full()); |
975 | | /// ``` |
976 | 16 | pub fn is_full(&self) -> bool { |
977 | 16 | match &self.flavor { |
978 | 4 | ReceiverFlavor::Array(chan) => chan.is_full(), |
979 | 3 | ReceiverFlavor::List(chan) => chan.is_full(), |
980 | 2 | ReceiverFlavor::Zero(chan) => chan.is_full(), |
981 | 3 | ReceiverFlavor::At(chan) => chan.is_full(), |
982 | 3 | ReceiverFlavor::Tick(chan) => chan.is_full(), |
983 | 1 | ReceiverFlavor::Never(chan) => chan.is_full(), |
984 | | } |
985 | 16 | } <crossbeam_channel::channel::Receiver<i32>>::is_full Line | Count | Source | 976 | 2 | pub fn is_full(&self) -> bool { | 977 | 2 | match &self.flavor { | 978 | 0 | ReceiverFlavor::Array(chan) => chan.is_full(), | 979 | 0 | ReceiverFlavor::List(chan) => chan.is_full(), | 980 | 2 | ReceiverFlavor::Zero(chan) => chan.is_full(), | 981 | 0 | ReceiverFlavor::At(chan) => chan.is_full(), | 982 | 0 | ReceiverFlavor::Tick(chan) => chan.is_full(), | 983 | 0 | ReceiverFlavor::Never(chan) => chan.is_full(), | 984 | | } | 985 | 2 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::is_full Line | Count | Source | 976 | 3 | pub fn is_full(&self) -> bool { | 977 | 3 | match &self.flavor { | 978 | 0 | ReceiverFlavor::Array(chan) => chan.is_full(), | 979 | 0 | ReceiverFlavor::List(chan) => chan.is_full(), | 980 | 0 | ReceiverFlavor::Zero(chan) => chan.is_full(), | 981 | 3 | ReceiverFlavor::At(chan) => chan.is_full(), | 982 | 0 | ReceiverFlavor::Tick(chan) => chan.is_full(), | 983 | 0 | ReceiverFlavor::Never(chan) => chan.is_full(), | 984 | | } | 985 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::is_full Line | Count | Source | 976 | 4 | pub fn is_full(&self) -> bool { | 977 | 4 | match &self.flavor { | 978 | 4 | ReceiverFlavor::Array(chan) => chan.is_full(), | 979 | 0 | ReceiverFlavor::List(chan) => chan.is_full(), | 980 | 0 | ReceiverFlavor::Zero(chan) => chan.is_full(), | 981 | 0 | ReceiverFlavor::At(chan) => chan.is_full(), | 982 | 0 | ReceiverFlavor::Tick(chan) => chan.is_full(), | 983 | 0 | ReceiverFlavor::Never(chan) => chan.is_full(), | 984 | | } | 985 | 4 | } |
<crossbeam_channel::channel::Receiver<i32>>::is_full Line | Count | Source | 976 | 1 | pub fn is_full(&self) -> bool { | 977 | 1 | match &self.flavor { | 978 | 0 | ReceiverFlavor::Array(chan) => chan.is_full(), | 979 | 0 | ReceiverFlavor::List(chan) => chan.is_full(), | 980 | 0 | ReceiverFlavor::Zero(chan) => chan.is_full(), | 981 | 0 | ReceiverFlavor::At(chan) => chan.is_full(), | 982 | 0 | ReceiverFlavor::Tick(chan) => chan.is_full(), | 983 | 1 | ReceiverFlavor::Never(chan) => chan.is_full(), | 984 | | } | 985 | 1 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::is_full Line | Count | Source | 976 | 3 | pub fn is_full(&self) -> bool { | 977 | 3 | match &self.flavor { | 978 | 0 | ReceiverFlavor::Array(chan) => chan.is_full(), | 979 | 0 | ReceiverFlavor::List(chan) => chan.is_full(), | 980 | 0 | ReceiverFlavor::Zero(chan) => chan.is_full(), | 981 | 0 | ReceiverFlavor::At(chan) => chan.is_full(), | 982 | 3 | ReceiverFlavor::Tick(chan) => chan.is_full(), | 983 | 0 | ReceiverFlavor::Never(chan) => chan.is_full(), | 984 | | } | 985 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::is_full Line | Count | Source | 976 | 3 | pub fn is_full(&self) -> bool { | 977 | 3 | match &self.flavor { | 978 | 0 | ReceiverFlavor::Array(chan) => chan.is_full(), | 979 | 3 | ReceiverFlavor::List(chan) => chan.is_full(), | 980 | 0 | ReceiverFlavor::Zero(chan) => chan.is_full(), | 981 | 0 | ReceiverFlavor::At(chan) => chan.is_full(), | 982 | 0 | ReceiverFlavor::Tick(chan) => chan.is_full(), | 983 | 0 | ReceiverFlavor::Never(chan) => chan.is_full(), | 984 | | } | 985 | 3 | } |
|
986 | | |
987 | | /// Returns the number of messages in the channel. |
988 | | /// |
989 | | /// # Examples |
990 | | /// |
991 | | /// ``` |
992 | | /// use crossbeam_channel::unbounded; |
993 | | /// |
994 | | /// let (s, r) = unbounded(); |
995 | | /// assert_eq!(r.len(), 0); |
996 | | /// |
997 | | /// s.send(1).unwrap(); |
998 | | /// s.send(2).unwrap(); |
999 | | /// assert_eq!(r.len(), 2); |
1000 | | /// ``` |
1001 | 55.0k | pub fn len(&self) -> usize { |
1002 | 55.0k | match &self.flavor { |
1003 | 30.0k | ReceiverFlavor::Array(chan) => chan.len(), |
1004 | 55 | ReceiverFlavor::List(chan) => chan.len(), |
1005 | 25.0k | ReceiverFlavor::Zero(chan) => chan.len(), |
1006 | 3 | ReceiverFlavor::At(chan) => chan.len(), |
1007 | 3 | ReceiverFlavor::Tick(chan) => chan.len(), |
1008 | 1 | ReceiverFlavor::Never(chan) => chan.len(), |
1009 | | } |
1010 | 55.0k | } <crossbeam_channel::channel::Receiver<i32>>::len Line | Count | Source | 1001 | 2 | pub fn len(&self) -> usize { | 1002 | 2 | match &self.flavor { | 1003 | 0 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 0 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 2 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 2 | } |
<crossbeam_channel::channel::Receiver<usize>>::len Line | Count | Source | 1001 | 25.0k | pub fn len(&self) -> usize { | 1002 | 25.0k | match &self.flavor { | 1003 | 0 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 0 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 25.0k | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 25.0k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::len Line | Count | Source | 1001 | 3 | pub fn len(&self) -> usize { | 1002 | 3 | match &self.flavor { | 1003 | 0 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 0 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 0 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 3 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::len Line | Count | Source | 1001 | 4 | pub fn len(&self) -> usize { | 1002 | 4 | match &self.flavor { | 1003 | 4 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 0 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 0 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 4 | } |
<crossbeam_channel::channel::Receiver<usize>>::len Line | Count | Source | 1001 | 30.0k | pub fn len(&self) -> usize { | 1002 | 30.0k | match &self.flavor { | 1003 | 30.0k | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 0 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 0 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 30.0k | } |
<crossbeam_channel::channel::Receiver<i32>>::len Line | Count | Source | 1001 | 1 | pub fn len(&self) -> usize { | 1002 | 1 | match &self.flavor { | 1003 | 0 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 0 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 0 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 1 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 1 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::len Line | Count | Source | 1001 | 3 | pub fn len(&self) -> usize { | 1002 | 3 | match &self.flavor { | 1003 | 0 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 0 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 0 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 3 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::len Line | Count | Source | 1001 | 3 | pub fn len(&self) -> usize { | 1002 | 3 | match &self.flavor { | 1003 | 0 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 3 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 0 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 3 | } |
<crossbeam_channel::channel::Receiver<usize>>::len Line | Count | Source | 1001 | 52 | pub fn len(&self) -> usize { | 1002 | 52 | match &self.flavor { | 1003 | 0 | ReceiverFlavor::Array(chan) => chan.len(), | 1004 | 52 | ReceiverFlavor::List(chan) => chan.len(), | 1005 | 0 | ReceiverFlavor::Zero(chan) => chan.len(), | 1006 | 0 | ReceiverFlavor::At(chan) => chan.len(), | 1007 | 0 | ReceiverFlavor::Tick(chan) => chan.len(), | 1008 | 0 | ReceiverFlavor::Never(chan) => chan.len(), | 1009 | | } | 1010 | 52 | } |
|
1011 | | |
1012 | | /// If the channel is bounded, returns its capacity. |
1013 | | /// |
1014 | | /// # Examples |
1015 | | /// |
1016 | | /// ``` |
1017 | | /// use crossbeam_channel::{bounded, unbounded}; |
1018 | | /// |
1019 | | /// let (_, r) = unbounded::<i32>(); |
1020 | | /// assert_eq!(r.capacity(), None); |
1021 | | /// |
1022 | | /// let (_, r) = bounded::<i32>(5); |
1023 | | /// assert_eq!(r.capacity(), Some(5)); |
1024 | | /// |
1025 | | /// let (_, r) = bounded::<i32>(0); |
1026 | | /// assert_eq!(r.capacity(), Some(0)); |
1027 | | /// ``` |
1028 | 32 | pub fn capacity(&self) -> Option<usize> { |
1029 | 32 | match &self.flavor { |
1030 | 9 | ReceiverFlavor::Array(chan) => chan.capacity(), |
1031 | 1 | ReceiverFlavor::List(chan) => chan.capacity(), |
1032 | 1 | ReceiverFlavor::Zero(chan) => chan.capacity(), |
1033 | 10 | ReceiverFlavor::At(chan) => chan.capacity(), |
1034 | 10 | ReceiverFlavor::Tick(chan) => chan.capacity(), |
1035 | 1 | ReceiverFlavor::Never(chan) => chan.capacity(), |
1036 | | } |
1037 | 32 | } <crossbeam_channel::channel::Receiver<()>>::capacity Line | Count | Source | 1028 | 1 | pub fn capacity(&self) -> Option<usize> { | 1029 | 1 | match &self.flavor { | 1030 | 0 | ReceiverFlavor::Array(chan) => chan.capacity(), | 1031 | 0 | ReceiverFlavor::List(chan) => chan.capacity(), | 1032 | 1 | ReceiverFlavor::Zero(chan) => chan.capacity(), | 1033 | 0 | ReceiverFlavor::At(chan) => chan.capacity(), | 1034 | 0 | ReceiverFlavor::Tick(chan) => chan.capacity(), | 1035 | 0 | ReceiverFlavor::Never(chan) => chan.capacity(), | 1036 | | } | 1037 | 1 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::capacity Line | Count | Source | 1028 | 10 | pub fn capacity(&self) -> Option<usize> { | 1029 | 10 | match &self.flavor { | 1030 | 0 | ReceiverFlavor::Array(chan) => chan.capacity(), | 1031 | 0 | ReceiverFlavor::List(chan) => chan.capacity(), | 1032 | 0 | ReceiverFlavor::Zero(chan) => chan.capacity(), | 1033 | 10 | ReceiverFlavor::At(chan) => chan.capacity(), | 1034 | 0 | ReceiverFlavor::Tick(chan) => chan.capacity(), | 1035 | 0 | ReceiverFlavor::Never(chan) => chan.capacity(), | 1036 | | } | 1037 | 10 | } |
<crossbeam_channel::channel::Receiver<()>>::capacity Line | Count | Source | 1028 | 9 | pub fn capacity(&self) -> Option<usize> { | 1029 | 9 | match &self.flavor { | 1030 | 9 | ReceiverFlavor::Array(chan) => chan.capacity(), | 1031 | 0 | ReceiverFlavor::List(chan) => chan.capacity(), | 1032 | 0 | ReceiverFlavor::Zero(chan) => chan.capacity(), | 1033 | 0 | ReceiverFlavor::At(chan) => chan.capacity(), | 1034 | 0 | ReceiverFlavor::Tick(chan) => chan.capacity(), | 1035 | 0 | ReceiverFlavor::Never(chan) => chan.capacity(), | 1036 | | } | 1037 | 9 | } |
<crossbeam_channel::channel::Receiver<i32>>::capacity Line | Count | Source | 1028 | 1 | pub fn capacity(&self) -> Option<usize> { | 1029 | 1 | match &self.flavor { | 1030 | 0 | ReceiverFlavor::Array(chan) => chan.capacity(), | 1031 | 0 | ReceiverFlavor::List(chan) => chan.capacity(), | 1032 | 0 | ReceiverFlavor::Zero(chan) => chan.capacity(), | 1033 | 0 | ReceiverFlavor::At(chan) => chan.capacity(), | 1034 | 0 | ReceiverFlavor::Tick(chan) => chan.capacity(), | 1035 | 1 | ReceiverFlavor::Never(chan) => chan.capacity(), | 1036 | | } | 1037 | 1 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant>>::capacity Line | Count | Source | 1028 | 10 | pub fn capacity(&self) -> Option<usize> { | 1029 | 10 | match &self.flavor { | 1030 | 0 | ReceiverFlavor::Array(chan) => chan.capacity(), | 1031 | 0 | ReceiverFlavor::List(chan) => chan.capacity(), | 1032 | 0 | ReceiverFlavor::Zero(chan) => chan.capacity(), | 1033 | 0 | ReceiverFlavor::At(chan) => chan.capacity(), | 1034 | 10 | ReceiverFlavor::Tick(chan) => chan.capacity(), | 1035 | 0 | ReceiverFlavor::Never(chan) => chan.capacity(), | 1036 | | } | 1037 | 10 | } |
<crossbeam_channel::channel::Receiver<()>>::capacity Line | Count | Source | 1028 | 1 | pub fn capacity(&self) -> Option<usize> { | 1029 | 1 | match &self.flavor { | 1030 | 0 | ReceiverFlavor::Array(chan) => chan.capacity(), | 1031 | 1 | ReceiverFlavor::List(chan) => chan.capacity(), | 1032 | 0 | ReceiverFlavor::Zero(chan) => chan.capacity(), | 1033 | 0 | ReceiverFlavor::At(chan) => chan.capacity(), | 1034 | 0 | ReceiverFlavor::Tick(chan) => chan.capacity(), | 1035 | 0 | ReceiverFlavor::Never(chan) => chan.capacity(), | 1036 | | } | 1037 | 1 | } |
|
1038 | | |
1039 | | /// A blocking iterator over messages in the channel. |
1040 | | /// |
1041 | | /// Each call to [`next`] blocks waiting for the next message and then returns it. However, if |
1042 | | /// the channel becomes empty and disconnected, it returns [`None`] without blocking. |
1043 | | /// |
1044 | | /// [`next`]: Iterator::next |
1045 | | /// |
1046 | | /// # Examples |
1047 | | /// |
1048 | | /// ``` |
1049 | | /// use std::thread; |
1050 | | /// use crossbeam_channel::unbounded; |
1051 | | /// |
1052 | | /// let (s, r) = unbounded(); |
1053 | | /// |
1054 | | /// thread::spawn(move || { |
1055 | | /// s.send(1).unwrap(); |
1056 | | /// s.send(2).unwrap(); |
1057 | | /// s.send(3).unwrap(); |
1058 | | /// drop(s); // Disconnect the channel. |
1059 | | /// }); |
1060 | | /// |
1061 | | /// // Collect all messages from the channel. |
1062 | | /// // Note that the call to `collect` blocks until the sender is dropped. |
1063 | | /// let v: Vec<_> = r.iter().collect(); |
1064 | | /// |
1065 | | /// assert_eq!(v, [1, 2, 3]); |
1066 | | /// ``` |
1067 | 7 | pub fn iter(&self) -> Iter<'_, T> { |
1068 | 7 | Iter { receiver: self } |
1069 | 7 | } <crossbeam_channel::channel::Receiver<()>>::iter Line | Count | Source | 1067 | 1 | pub fn iter(&self) -> Iter<'_, T> { | 1068 | 1 | Iter { receiver: self } | 1069 | 1 | } |
<crossbeam_channel::channel::Receiver<()>>::iter Line | Count | Source | 1067 | 1 | pub fn iter(&self) -> Iter<'_, T> { | 1068 | 1 | Iter { receiver: self } | 1069 | 1 | } |
<crossbeam_channel::channel::Receiver<i32>>::iter Line | Count | Source | 1067 | 3 | pub fn iter(&self) -> Iter<'_, T> { | 1068 | 3 | Iter { receiver: self } | 1069 | 3 | } |
<crossbeam_channel::channel::Receiver<()>>::iter Line | Count | Source | 1067 | 1 | pub fn iter(&self) -> Iter<'_, T> { | 1068 | 1 | Iter { receiver: self } | 1069 | 1 | } |
<crossbeam_channel::channel::Receiver<()>>::iter Line | Count | Source | 1067 | 1 | pub fn iter(&self) -> Iter<'_, T> { | 1068 | 1 | Iter { receiver: self } | 1069 | 1 | } |
|
1070 | | |
1071 | | /// A non-blocking iterator over messages in the channel. |
1072 | | /// |
1073 | | /// Each call to [`next`] returns a message if there is one ready to be received. The iterator |
1074 | | /// never blocks waiting for the next message. |
1075 | | /// |
1076 | | /// [`next`]: Iterator::next |
1077 | | /// |
1078 | | /// # Examples |
1079 | | /// |
1080 | | /// ``` |
1081 | | /// use std::thread; |
1082 | | /// use std::time::Duration; |
1083 | | /// use crossbeam_channel::unbounded; |
1084 | | /// |
1085 | | /// let (s, r) = unbounded::<i32>(); |
1086 | | /// |
1087 | | /// thread::spawn(move || { |
1088 | | /// s.send(1).unwrap(); |
1089 | | /// thread::sleep(Duration::from_secs(1)); |
1090 | | /// s.send(2).unwrap(); |
1091 | | /// thread::sleep(Duration::from_secs(2)); |
1092 | | /// s.send(3).unwrap(); |
1093 | | /// }); |
1094 | | /// |
1095 | | /// thread::sleep(Duration::from_secs(2)); |
1096 | | /// |
1097 | | /// // Collect all messages from the channel without blocking. |
1098 | | /// // The third message hasn't been sent yet so we'll collect only the first two. |
1099 | | /// let v: Vec<_> = r.try_iter().collect(); |
1100 | | /// |
1101 | | /// assert_eq!(v, [1, 2]); |
1102 | | /// ``` |
1103 | 202k | pub fn try_iter(&self) -> TryIter<'_, T> { |
1104 | 202k | TryIter { receiver: self } |
1105 | 202k | } <crossbeam_channel::channel::Receiver<usize>>::try_iter Line | Count | Source | 1103 | 2.39k | pub fn try_iter(&self) -> TryIter<'_, T> { | 1104 | 2.39k | TryIter { receiver: self } | 1105 | 2.39k | } |
<crossbeam_channel::channel::Receiver<usize>>::try_iter Line | Count | Source | 1103 | 100k | pub fn try_iter(&self) -> TryIter<'_, T> { | 1104 | 100k | TryIter { receiver: self } | 1105 | 100k | } |
<crossbeam_channel::channel::Receiver<i32>>::try_iter Line | Count | Source | 1103 | 49 | pub fn try_iter(&self) -> TryIter<'_, T> { | 1104 | 49 | TryIter { receiver: self } | 1105 | 49 | } |
<crossbeam_channel::channel::Receiver<usize>>::try_iter Line | Count | Source | 1103 | 100k | pub fn try_iter(&self) -> TryIter<'_, T> { | 1104 | 100k | TryIter { receiver: self } | 1105 | 100k | } |
|
1106 | | |
1107 | | /// Returns `true` if receivers belong to the same channel. |
1108 | | /// |
1109 | | /// # Examples |
1110 | | /// |
1111 | | /// ```rust |
1112 | | /// use crossbeam_channel::unbounded; |
1113 | | /// |
1114 | | /// let (_, r) = unbounded::<usize>(); |
1115 | | /// |
1116 | | /// let r2 = r.clone(); |
1117 | | /// assert!(r.same_channel(&r2)); |
1118 | | /// |
1119 | | /// let (_, r3) = unbounded(); |
1120 | | /// assert!(!r.same_channel(&r3)); |
1121 | | /// ``` |
1122 | 23 | pub fn same_channel(&self, other: &Receiver<T>) -> bool { |
1123 | 23 | match (&self.flavor, &other.flavor) { |
1124 | 3 | (ReceiverFlavor::Array(a), ReceiverFlavor::Array(b)) => a == b, |
1125 | 3 | (ReceiverFlavor::List(a), ReceiverFlavor::List(b)) => a == b, |
1126 | 3 | (ReceiverFlavor::Zero(a), ReceiverFlavor::Zero(b)) => a == b, |
1127 | 5 | (ReceiverFlavor::At(a), ReceiverFlavor::At(b)) => Arc::ptr_eq(a, b), |
1128 | 5 | (ReceiverFlavor::Tick(a), ReceiverFlavor::Tick(b)) => Arc::ptr_eq(a, b), |
1129 | 3 | (ReceiverFlavor::Never(_), ReceiverFlavor::Never(_)) => true, |
1130 | 1 | _ => false, |
1131 | | } |
1132 | 23 | } <crossbeam_channel::channel::Receiver<std::time::Instant>>::same_channel Line | Count | Source | 1122 | 10 | pub fn same_channel(&self, other: &Receiver<T>) -> bool { | 1123 | 10 | match (&self.flavor, &other.flavor) { | 1124 | 0 | (ReceiverFlavor::Array(a), ReceiverFlavor::Array(b)) => a == b, | 1125 | 0 | (ReceiverFlavor::List(a), ReceiverFlavor::List(b)) => a == b, | 1126 | 0 | (ReceiverFlavor::Zero(a), ReceiverFlavor::Zero(b)) => a == b, | 1127 | 5 | (ReceiverFlavor::At(a), ReceiverFlavor::At(b)) => Arc::ptr_eq(a, b), | 1128 | 5 | (ReceiverFlavor::Tick(a), ReceiverFlavor::Tick(b)) => Arc::ptr_eq(a, b), | 1129 | 0 | (ReceiverFlavor::Never(_), ReceiverFlavor::Never(_)) => true, | 1130 | 0 | _ => false, | 1131 | | } | 1132 | 10 | } |
<crossbeam_channel::channel::Receiver<usize>>::same_channel Line | Count | Source | 1122 | 13 | pub fn same_channel(&self, other: &Receiver<T>) -> bool { | 1123 | 13 | match (&self.flavor, &other.flavor) { | 1124 | 3 | (ReceiverFlavor::Array(a), ReceiverFlavor::Array(b)) => a == b, | 1125 | 3 | (ReceiverFlavor::List(a), ReceiverFlavor::List(b)) => a == b, | 1126 | 3 | (ReceiverFlavor::Zero(a), ReceiverFlavor::Zero(b)) => a == b, | 1127 | 0 | (ReceiverFlavor::At(a), ReceiverFlavor::At(b)) => Arc::ptr_eq(a, b), | 1128 | 0 | (ReceiverFlavor::Tick(a), ReceiverFlavor::Tick(b)) => Arc::ptr_eq(a, b), | 1129 | 3 | (ReceiverFlavor::Never(_), ReceiverFlavor::Never(_)) => true, | 1130 | 1 | _ => false, | 1131 | | } | 1132 | 13 | } |
|
1133 | | } |
1134 | | |
1135 | | impl<T> Drop for Receiver<T> { |
1136 | 5.82M | fn drop(&mut self) { |
1137 | 5.82M | unsafe { |
1138 | 5.82M | match &self.flavor { |
1139 | 674k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()33.5k ), <crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 10.0k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 6 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 12 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 203 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 5 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 100 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 1.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 10.0k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 18 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i64> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<bool> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 3 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<u32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<u8> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 5.11k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 7 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0} Line | Count | Source | 1139 | 3.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), |
|
1140 | 411k | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()11.3k ), <crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 9 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 23 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 35 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 5 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 59 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 2 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 1 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 7 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 1 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 8 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 100 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 10.0k | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 1.00k | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 5 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 2 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 13 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 33 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 19 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1} Line | Count | Source | 1140 | 9 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), |
|
1141 | 88.4k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()4.81k ), <crossbeam_channel::channel::Receiver<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 100 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 8 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 8 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 5 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1.00k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 29 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1.00k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 47 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 10 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 5 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 32 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 6 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 3 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<u8> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 4 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<bool> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 306 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i64> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1.13k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<u32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 2 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 6 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 57 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 1.00k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 32 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 4 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 7 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2} Line | Count | Source | 1141 | 2 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), |
|
1142 | 514k | ReceiverFlavor::At(_) => {} |
1143 | 30.2k | ReceiverFlavor::Tick(_) => {} |
1144 | 4.10M | ReceiverFlavor::Never(_) => {} |
1145 | | } |
1146 | | } |
1147 | 5.82M | } <crossbeam_channel::channel::Receiver<zero::drops::DropCounter> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 100 | fn drop(&mut self) { | 1137 | 100 | unsafe { | 1138 | 100 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 100 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 100 | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 5 | fn drop(&mut self) { | 1137 | 5 | unsafe { | 1138 | 5 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 5 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 5 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 39.8k | fn drop(&mut self) { | 1137 | 39.8k | unsafe { | 1138 | 39.8k | match &self.flavor { | 1139 | 8 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 8 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 39.8k | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 39.8k | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 10.0k | fn drop(&mut self) { | 1137 | 10.0k | unsafe { | 1138 | 10.0k | match &self.flavor { | 1139 | 10.0k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 8 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 10.0k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1.00k | fn drop(&mut self) { | 1137 | 1.00k | unsafe { | 1138 | 1.00k | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 1.00k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1.00k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 20.0k | fn drop(&mut self) { | 1137 | 20.0k | unsafe { | 1138 | 20.0k | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 10.0k | ReceiverFlavor::At(_) => {} | 1143 | 10.0k | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 20.0k | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 15 | fn drop(&mut self) { | 1137 | 15 | unsafe { | 1138 | 15 | match &self.flavor { | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 10 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 15 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 44 | fn drop(&mut self) { | 1137 | 44 | unsafe { | 1138 | 44 | match &self.flavor { | 1139 | 6 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 9 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 29 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 44 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 3.00k | fn drop(&mut self) { | 1137 | 3.00k | unsafe { | 1138 | 3.00k | match &self.flavor { | 1139 | 2.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 1.00k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 3.00k | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 74 | fn drop(&mut self) { | 1137 | 74 | unsafe { | 1138 | 74 | match &self.flavor { | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 23 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 47 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 74 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 3 | fn drop(&mut self) { | 1137 | 3 | unsafe { | 1138 | 3 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 3 | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 2 | fn drop(&mut self) { | 1137 | 2 | unsafe { | 1138 | 2 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 2 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 2 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 10.2k | fn drop(&mut self) { | 1137 | 10.2k | unsafe { | 1138 | 10.2k | match &self.flavor { | 1139 | 203 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 35 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 6 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 10.0k | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 10.2k | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 103 | fn drop(&mut self) { | 1137 | 103 | unsafe { | 1138 | 103 | match &self.flavor { | 1139 | 12 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 59 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 32 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 103 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 11 | fn drop(&mut self) { | 1137 | 11 | unsafe { | 1138 | 11 | match &self.flavor { | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 5 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 5 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 11 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 487k | fn drop(&mut self) { | 1137 | 487k | unsafe { | 1138 | 487k | match &self.flavor { | 1139 | 2.95k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 484k | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 487k | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 3.99k | fn drop(&mut self) { | 1137 | 3.99k | unsafe { | 1138 | 3.99k | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 3.99k | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 3.99k | } |
<crossbeam_channel::channel::Receiver<array::drops::DropCounter> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 100 | fn drop(&mut self) { | 1137 | 100 | unsafe { | 1138 | 100 | match &self.flavor { | 1139 | 100 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 100 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 19.9k | fn drop(&mut self) { | 1137 | 19.9k | unsafe { | 1138 | 19.9k | match &self.flavor { | 1139 | 40 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 19.8k | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 19.9k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1.00k | fn drop(&mut self) { | 1137 | 1.00k | unsafe { | 1138 | 1.00k | match &self.flavor { | 1139 | 1.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1.00k | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 10.0k | fn drop(&mut self) { | 1137 | 10.0k | unsafe { | 1138 | 10.0k | match &self.flavor { | 1139 | 10.0k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 10.0k | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 5 | fn drop(&mut self) { | 1137 | 5 | unsafe { | 1138 | 5 | match &self.flavor { | 1139 | 5 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 5 | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 7 | fn drop(&mut self) { | 1137 | 7 | unsafe { | 1138 | 7 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 7 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 7 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1 | fn drop(&mut self) { | 1137 | 1 | unsafe { | 1138 | 1 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 1 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop <crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 6 | fn drop(&mut self) { | 1137 | 6 | unsafe { | 1138 | 6 | match &self.flavor { | 1139 | 18.4E | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 1 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 7 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 6 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 2 | fn drop(&mut self) { | 1137 | 2 | unsafe { | 1138 | 2 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 1 | ReceiverFlavor::Tick(_) => {} | 1144 | 1 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 2 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 235 | fn drop(&mut self) { | 1137 | 235 | unsafe { | 1138 | 235 | match &self.flavor { | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 7 | ReceiverFlavor::At(_) => {} | 1143 | 226 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 235 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 3.61k | fn drop(&mut self) { | 1137 | 3.61k | unsafe { | 1138 | 3.61k | match &self.flavor { | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 3.61k | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 3.61k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 8 | fn drop(&mut self) { | 1137 | 8 | unsafe { | 1138 | 8 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 4 | ReceiverFlavor::At(_) => {} | 1143 | 4 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 8 | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 14 | fn drop(&mut self) { | 1137 | 14 | unsafe { | 1138 | 14 | match &self.flavor { | 1139 | 3 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 4 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 4 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 3 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 14 | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1 | fn drop(&mut self) { | 1137 | 1 | unsafe { | 1138 | 1 | match &self.flavor { | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1 | fn drop(&mut self) { | 1137 | 1 | unsafe { | 1138 | 1 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 1 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1 | } |
<crossbeam_channel::channel::Receiver<list::drops::DropCounter> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 100 | fn drop(&mut self) { | 1137 | 100 | unsafe { | 1138 | 100 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 100 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 100 | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 5 | fn drop(&mut self) { | 1137 | 5 | unsafe { | 1138 | 5 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 5 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 5 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1.00k | fn drop(&mut self) { | 1137 | 1.00k | unsafe { | 1138 | 1.00k | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 1.00k | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1.00k | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 10.0k | fn drop(&mut self) { | 1137 | 10.0k | unsafe { | 1138 | 10.0k | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 10.0k | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 10.0k | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 19.9k | fn drop(&mut self) { | 1137 | 19.9k | unsafe { | 1138 | 19.9k | match &self.flavor { | 1139 | 20 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 8 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 19.9k | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 19.9k | } |
<crossbeam_channel::channel::Receiver<bool> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 2.64k | fn drop(&mut self) { | 1137 | 2.64k | unsafe { | 1138 | 2.64k | match &self.flavor { | 1139 | 2.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 635 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 2.64k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1 | fn drop(&mut self) { | 1137 | 1 | unsafe { | 1138 | 1 | match &self.flavor { | 1139 | 1 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1 | } |
<crossbeam_channel::channel::Receiver<u8> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 60.0k | fn drop(&mut self) { | 1137 | 60.0k | unsafe { | 1138 | 60.0k | match &self.flavor { | 1139 | 19.9k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 40.0k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 60.0k | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 245k | fn drop(&mut self) { | 1137 | 245k | unsafe { | 1138 | 245k | match &self.flavor { | 1139 | 135 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 245k | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 245k | } |
<crossbeam_channel::channel::Receiver<[u8; 0]> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1 | fn drop(&mut self) { | 1137 | 1 | unsafe { | 1138 | 1 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 1 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1 | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1.06M | fn drop(&mut self) { | 1137 | 1.06M | unsafe { | 1138 | 1.06M | match &self.flavor { | 1139 | 619k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 400k | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 44.3k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1.06M | } |
<crossbeam_channel::channel::Receiver<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1 | fn drop(&mut self) { | 1137 | 1 | unsafe { | 1138 | 1 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 1 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1 | } |
<crossbeam_channel::channel::Receiver<alloc::string::String> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 9 | fn drop(&mut self) { | 1137 | 9 | unsafe { | 1138 | 9 | match &self.flavor { | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 5 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 9 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1 | fn drop(&mut self) { | 1137 | 1 | unsafe { | 1138 | 1 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 1 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1 | } |
<crossbeam_channel::channel::Receiver<i64> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 9 | fn drop(&mut self) { | 1137 | 9 | unsafe { | 1138 | 9 | match &self.flavor { | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 5 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 9 | } |
<crossbeam_channel::channel::Receiver<u32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 6 | fn drop(&mut self) { | 1137 | 6 | unsafe { | 1138 | 6 | match &self.flavor { | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 2 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 6 | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 1.00k | fn drop(&mut self) { | 1137 | 1.00k | unsafe { | 1138 | 1.00k | match &self.flavor { | 1139 | 1.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 1.00k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 20.0k | fn drop(&mut self) { | 1137 | 20.0k | unsafe { | 1138 | 20.0k | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 10.0k | ReceiverFlavor::At(_) => {} | 1143 | 10.0k | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 20.0k | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 11 | fn drop(&mut self) { | 1137 | 11 | unsafe { | 1138 | 11 | match &self.flavor { | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 6 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 11 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 3.76M | fn drop(&mut self) { | 1137 | 3.76M | unsafe { | 1138 | 3.76M | match &self.flavor { | 1139 | 1.28k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 13 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 32 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 3.75M | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 3.76M | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 3.00k | fn drop(&mut self) { | 1137 | 3.00k | unsafe { | 1138 | 3.00k | match &self.flavor { | 1139 | 2.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 1.00k | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 3.00k | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 96 | fn drop(&mut self) { | 1137 | 96 | unsafe { | 1138 | 96 | match &self.flavor { | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 33 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 57 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 2 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 96 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 3.00k | fn drop(&mut self) { | 1137 | 3.00k | unsafe { | 1138 | 3.00k | match &self.flavor { | 1139 | 3.00k | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 3.00k | } |
<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 26 | fn drop(&mut self) { | 1137 | 26 | unsafe { | 1138 | 26 | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 19 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 7 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 26 | } |
<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 15 | fn drop(&mut self) { | 1137 | 15 | unsafe { | 1138 | 15 | match &self.flavor { | 1139 | 4 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 9 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 2 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 15 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 20.0k | fn drop(&mut self) { | 1137 | 20.0k | unsafe { | 1138 | 20.0k | match &self.flavor { | 1139 | 0 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 0 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 0 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 10.0k | ReceiverFlavor::At(_) => {} | 1143 | 10.0k | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 20.0k | } |
<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop Line | Count | Source | 1136 | 9 | fn drop(&mut self) { | 1137 | 9 | unsafe { | 1138 | 9 | match &self.flavor { | 1139 | 2 | ReceiverFlavor::Array(chan) => chan.release(|c| c.disconnect()), | 1140 | 3 | ReceiverFlavor::List(chan) => chan.release(|c| c.disconnect()), | 1141 | 4 | ReceiverFlavor::Zero(chan) => chan.release(|c| c.disconnect()), | 1142 | 0 | ReceiverFlavor::At(_) => {} | 1143 | 0 | ReceiverFlavor::Tick(_) => {} | 1144 | 0 | ReceiverFlavor::Never(_) => {} | 1145 | | } | 1146 | | } | 1147 | 9 | } |
|
1148 | | } |
1149 | | |
1150 | | impl<T> Clone for Receiver<T> { |
1151 | 1.58M | fn clone(&self) -> Self { |
1152 | 1.58M | let flavor = match &self.flavor { |
1153 | 645k | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), |
1154 | 400k | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), |
1155 | 83.3k | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), |
1156 | 456k | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), |
1157 | 1 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), |
1158 | 1 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), |
1159 | | }; |
1160 | | |
1161 | 1.58M | Receiver { flavor } |
1162 | 1.58M | } <crossbeam_channel::channel::Receiver<std::time::Instant> as core::clone::Clone>::clone Line | Count | Source | 1151 | 459k | fn clone(&self) -> Self { | 1152 | 459k | let flavor = match &self.flavor { | 1153 | 2.40k | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 0 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 456k | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 459k | Receiver { flavor } | 1162 | 459k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as core::clone::Clone>::clone Line | Count | Source | 1151 | 2 | fn clone(&self) -> Self { | 1152 | 2 | let flavor = match &self.flavor { | 1153 | 0 | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 0 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 1 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 1 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 2 | Receiver { flavor } | 1162 | 2 | } |
<crossbeam_channel::channel::Receiver<usize> as core::clone::Clone>::clone Line | Count | Source | 1151 | 4 | fn clone(&self) -> Self { | 1152 | 4 | let flavor = match &self.flavor { | 1153 | 1 | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 1 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 1 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 1 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 4 | Receiver { flavor } | 1162 | 4 | } |
<crossbeam_channel::channel::Receiver<u8> as core::clone::Clone>::clone Line | Count | Source | 1151 | 59.0k | fn clone(&self) -> Self { | 1152 | 59.0k | let flavor = match &self.flavor { | 1153 | 19.3k | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 39.6k | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 59.0k | Receiver { flavor } | 1162 | 59.0k | } |
<crossbeam_channel::channel::Receiver<u32> as core::clone::Clone>::clone Line | Count | Source | 1151 | 2 | fn clone(&self) -> Self { | 1152 | 2 | let flavor = match &self.flavor { | 1153 | 2 | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 0 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 2 | Receiver { flavor } | 1162 | 2 | } |
<crossbeam_channel::channel::Receiver<bool> as core::clone::Clone>::clone Line | Count | Source | 1151 | 2.32k | fn clone(&self) -> Self { | 1152 | 2.32k | let flavor = match &self.flavor { | 1153 | 2.00k | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 329 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 2.32k | Receiver { flavor } | 1162 | 2.32k | } |
<crossbeam_channel::channel::Receiver<alloc::string::String> as core::clone::Clone>::clone Line | Count | Source | 1151 | 7 | fn clone(&self) -> Self { | 1152 | 7 | let flavor = match &self.flavor { | 1153 | 3 | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 4 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 7 | Receiver { flavor } | 1162 | 7 | } |
<crossbeam_channel::channel::Receiver<i32> as core::clone::Clone>::clone Line | Count | Source | 1151 | 1.06M | fn clone(&self) -> Self { | 1152 | 1.06M | let flavor = match &self.flavor { | 1153 | 620k | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 400k | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 43.3k | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 1.06M | Receiver { flavor } | 1162 | 1.06M | } |
<crossbeam_channel::channel::Receiver<usize> as core::clone::Clone>::clone Line | Count | Source | 1151 | 1.01k | fn clone(&self) -> Self { | 1152 | 1.01k | let flavor = match &self.flavor { | 1153 | 1.01k | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 0 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 1.01k | Receiver { flavor } | 1162 | 1.01k | } |
<crossbeam_channel::channel::Receiver<i64> as core::clone::Clone>::clone Line | Count | Source | 1151 | 7 | fn clone(&self) -> Self { | 1152 | 7 | let flavor = match &self.flavor { | 1153 | 3 | ReceiverFlavor::Array(chan) => ReceiverFlavor::Array(chan.acquire()), | 1154 | 0 | ReceiverFlavor::List(chan) => ReceiverFlavor::List(chan.acquire()), | 1155 | 4 | ReceiverFlavor::Zero(chan) => ReceiverFlavor::Zero(chan.acquire()), | 1156 | 0 | ReceiverFlavor::At(chan) => ReceiverFlavor::At(chan.clone()), | 1157 | 0 | ReceiverFlavor::Tick(chan) => ReceiverFlavor::Tick(chan.clone()), | 1158 | 0 | ReceiverFlavor::Never(_) => ReceiverFlavor::Never(flavors::never::Channel::new()), | 1159 | | }; | 1160 | | | 1161 | 7 | Receiver { flavor } | 1162 | 7 | } |
|
1163 | | } |
1164 | | |
1165 | | impl<T> fmt::Debug for Receiver<T> { |
1166 | | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
1167 | | f.pad("Receiver { .. }") |
1168 | | } |
1169 | | } |
1170 | | |
1171 | | impl<'a, T> IntoIterator for &'a Receiver<T> { |
1172 | | type Item = T; |
1173 | | type IntoIter = Iter<'a, T>; |
1174 | | |
1175 | 1 | fn into_iter(self) -> Self::IntoIter { |
1176 | 1 | self.iter() |
1177 | 1 | } |
1178 | | } |
1179 | | |
1180 | | impl<T> IntoIterator for Receiver<T> { |
1181 | | type Item = T; |
1182 | | type IntoIter = IntoIter<T>; |
1183 | | |
1184 | 1 | fn into_iter(self) -> Self::IntoIter { |
1185 | 1 | IntoIter { receiver: self } |
1186 | 1 | } |
1187 | | } |
1188 | | |
1189 | | /// A blocking iterator over messages in a channel. |
1190 | | /// |
1191 | | /// Each call to [`next`] blocks waiting for the next message and then returns it. However, if the |
1192 | | /// channel becomes empty and disconnected, it returns [`None`] without blocking. |
1193 | | /// |
1194 | | /// [`next`]: Iterator::next |
1195 | | /// |
1196 | | /// # Examples |
1197 | | /// |
1198 | | /// ``` |
1199 | | /// use std::thread; |
1200 | | /// use crossbeam_channel::unbounded; |
1201 | | /// |
1202 | | /// let (s, r) = unbounded(); |
1203 | | /// |
1204 | | /// thread::spawn(move || { |
1205 | | /// s.send(1).unwrap(); |
1206 | | /// s.send(2).unwrap(); |
1207 | | /// s.send(3).unwrap(); |
1208 | | /// drop(s); // Disconnect the channel. |
1209 | | /// }); |
1210 | | /// |
1211 | | /// // Collect all messages from the channel. |
1212 | | /// // Note that the call to `collect` blocks until the sender is dropped. |
1213 | | /// let v: Vec<_> = r.iter().collect(); |
1214 | | /// |
1215 | | /// assert_eq!(v, [1, 2, 3]); |
1216 | | /// ``` |
1217 | | pub struct Iter<'a, T> { |
1218 | | receiver: &'a Receiver<T>, |
1219 | | } |
1220 | | |
1221 | | impl<T> FusedIterator for Iter<'_, T> {} |
1222 | | |
1223 | | impl<T> Iterator for Iter<'_, T> { |
1224 | | type Item = T; |
1225 | | |
1226 | 201k | fn next(&mut self) -> Option<Self::Item> { |
1227 | 201k | self.receiver.recv().ok() |
1228 | 201k | } <crossbeam_channel::channel::Iter<()> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1226 | 1.00k | fn next(&mut self) -> Option<Self::Item> { | 1227 | 1.00k | self.receiver.recv().ok() | 1228 | 1.00k | } |
<crossbeam_channel::channel::Iter<()> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1226 | 100k | fn next(&mut self) -> Option<Self::Item> { | 1227 | 100k | self.receiver.recv().ok() | 1228 | 100k | } |
<crossbeam_channel::channel::Iter<()> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1226 | 4 | fn next(&mut self) -> Option<Self::Item> { | 1227 | 4 | self.receiver.recv().ok() | 1228 | 4 | } |
<crossbeam_channel::channel::Iter<i32> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1226 | 10 | fn next(&mut self) -> Option<Self::Item> { | 1227 | 10 | self.receiver.recv().ok() | 1228 | 10 | } |
<crossbeam_channel::channel::Iter<()> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1226 | 100k | fn next(&mut self) -> Option<Self::Item> { | 1227 | 100k | self.receiver.recv().ok() | 1228 | 100k | } |
|
1229 | | } |
1230 | | |
1231 | | impl<T> fmt::Debug for Iter<'_, T> { |
1232 | | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
1233 | | f.pad("Iter { .. }") |
1234 | | } |
1235 | | } |
1236 | | |
1237 | | /// A non-blocking iterator over messages in a channel. |
1238 | | /// |
1239 | | /// Each call to [`next`] returns a message if there is one ready to be received. The iterator |
1240 | | /// never blocks waiting for the next message. |
1241 | | /// |
1242 | | /// [`next`]: Iterator::next |
1243 | | /// |
1244 | | /// # Examples |
1245 | | /// |
1246 | | /// ``` |
1247 | | /// use std::thread; |
1248 | | /// use std::time::Duration; |
1249 | | /// use crossbeam_channel::unbounded; |
1250 | | /// |
1251 | | /// let (s, r) = unbounded::<i32>(); |
1252 | | /// |
1253 | | /// thread::spawn(move || { |
1254 | | /// s.send(1).unwrap(); |
1255 | | /// thread::sleep(Duration::from_secs(1)); |
1256 | | /// s.send(2).unwrap(); |
1257 | | /// thread::sleep(Duration::from_secs(2)); |
1258 | | /// s.send(3).unwrap(); |
1259 | | /// }); |
1260 | | /// |
1261 | | /// thread::sleep(Duration::from_secs(2)); |
1262 | | /// |
1263 | | /// // Collect all messages from the channel without blocking. |
1264 | | /// // The third message hasn't been sent yet so we'll collect only the first two. |
1265 | | /// let v: Vec<_> = r.try_iter().collect(); |
1266 | | /// |
1267 | | /// assert_eq!(v, [1, 2]); |
1268 | | /// ``` |
1269 | | pub struct TryIter<'a, T> { |
1270 | | receiver: &'a Receiver<T>, |
1271 | | } |
1272 | | |
1273 | | impl<T> Iterator for TryIter<'_, T> { |
1274 | | type Item = T; |
1275 | | |
1276 | 403k | fn next(&mut self) -> Option<Self::Item> { |
1277 | 403k | self.receiver.try_recv().ok() |
1278 | 403k | } <crossbeam_channel::channel::TryIter<usize> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1276 | 3.39k | fn next(&mut self) -> Option<Self::Item> { | 1277 | 3.39k | self.receiver.try_recv().ok() | 1278 | 3.39k | } |
<crossbeam_channel::channel::TryIter<usize> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1276 | 200k | fn next(&mut self) -> Option<Self::Item> { | 1277 | 200k | self.receiver.try_recv().ok() | 1278 | 200k | } |
<crossbeam_channel::channel::TryIter<i32> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1276 | 51 | fn next(&mut self) -> Option<Self::Item> { | 1277 | 51 | self.receiver.try_recv().ok() | 1278 | 51 | } |
<crossbeam_channel::channel::TryIter<usize> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1276 | 200k | fn next(&mut self) -> Option<Self::Item> { | 1277 | 200k | self.receiver.try_recv().ok() | 1278 | 200k | } |
|
1279 | | } |
1280 | | |
1281 | | impl<T> fmt::Debug for TryIter<'_, T> { |
1282 | | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
1283 | | f.pad("TryIter { .. }") |
1284 | | } |
1285 | | } |
1286 | | |
1287 | | /// A blocking iterator over messages in a channel. |
1288 | | /// |
1289 | | /// Each call to [`next`] blocks waiting for the next message and then returns it. However, if the |
1290 | | /// channel becomes empty and disconnected, it returns [`None`] without blocking. |
1291 | | /// |
1292 | | /// [`next`]: Iterator::next |
1293 | | /// |
1294 | | /// # Examples |
1295 | | /// |
1296 | | /// ``` |
1297 | | /// use std::thread; |
1298 | | /// use crossbeam_channel::unbounded; |
1299 | | /// |
1300 | | /// let (s, r) = unbounded(); |
1301 | | /// |
1302 | | /// thread::spawn(move || { |
1303 | | /// s.send(1).unwrap(); |
1304 | | /// s.send(2).unwrap(); |
1305 | | /// s.send(3).unwrap(); |
1306 | | /// drop(s); // Disconnect the channel. |
1307 | | /// }); |
1308 | | /// |
1309 | | /// // Collect all messages from the channel. |
1310 | | /// // Note that the call to `collect` blocks until the sender is dropped. |
1311 | | /// let v: Vec<_> = r.into_iter().collect(); |
1312 | | /// |
1313 | | /// assert_eq!(v, [1, 2, 3]); |
1314 | | /// ``` |
1315 | | pub struct IntoIter<T> { |
1316 | | receiver: Receiver<T>, |
1317 | | } |
1318 | | |
1319 | | impl<T> FusedIterator for IntoIter<T> {} |
1320 | | |
1321 | | impl<T> Iterator for IntoIter<T> { |
1322 | | type Item = T; |
1323 | | |
1324 | 3 | fn next(&mut self) -> Option<Self::Item> { |
1325 | 3 | self.receiver.recv().ok() |
1326 | 3 | } |
1327 | | } |
1328 | | |
1329 | | impl<T> fmt::Debug for IntoIter<T> { |
1330 | | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
1331 | | f.pad("IntoIter { .. }") |
1332 | | } |
1333 | | } |
1334 | | |
1335 | | impl<T> SelectHandle for Sender<T> { |
1336 | 9.64M | fn try_select(&self, token: &mut Token) -> bool { |
1337 | 9.64M | match &self.flavor { |
1338 | 102k | SenderFlavor::Array(chan) => chan.sender().try_select(token), |
1339 | 55.8k | SenderFlavor::List(chan) => chan.sender().try_select(token), |
1340 | 9.48M | SenderFlavor::Zero(chan) => chan.sender().try_select(token), |
1341 | | } |
1342 | 9.64M | } <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 69.8k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 69.8k | match &self.flavor { | 1338 | 33 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 69.8k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 69.8k | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 14.2k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 14.2k | match &self.flavor { | 1338 | 4.44k | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 4.40k | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 5.38k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 14.2k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 3.12k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 3.12k | match &self.flavor { | 1338 | 2.00k | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 1.12k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 3.12k | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 62.0k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 62.0k | match &self.flavor { | 1338 | 44 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 62.0k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 62.0k | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 2.62M | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 2.62M | match &self.flavor { | 1338 | 0 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 9 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 2.62M | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 2.62M | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 3 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 3 | match &self.flavor { | 1338 | 3 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 0 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 3 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 1 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 1 | match &self.flavor { | 1338 | 1 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 0 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 1 | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 1 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 1 | match &self.flavor { | 1338 | 0 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 1 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 0 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 1 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 6 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 6 | match &self.flavor { | 1338 | 6 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 0 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 6 | } |
<crossbeam_channel::channel::Sender<u32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 12 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 12 | match &self.flavor { | 1338 | 3 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 9 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 12 | } |
<crossbeam_channel::channel::Sender<i64> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 4 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 4 | match &self.flavor { | 1338 | 1 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 3 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 4 | } |
<crossbeam_channel::channel::Sender<bool> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 4 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 4 | match &self.flavor { | 1338 | 1 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 3 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 4 | } |
<crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 10.0k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 10.0k | match &self.flavor { | 1338 | 0 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 10.0k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 10.0k | } |
<crossbeam_channel::channel::Sender<alloc::string::String> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 3 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 3 | match &self.flavor { | 1338 | 1 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 2 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 3 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 127k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 127k | match &self.flavor { | 1338 | 42.3k | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 85.5k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 127k | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 49.7k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 49.7k | match &self.flavor { | 1338 | 20 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 49.7k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 49.7k | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 28.7k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 28.7k | match &self.flavor { | 1338 | 9.40k | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 9.74k | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 9.61k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 28.7k | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 6.51M | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 6.51M | match &self.flavor { | 1338 | 0 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 18 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 6.51M | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 6.51M | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 3.32k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 3.32k | match &self.flavor { | 1338 | 2.00k | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 1.32k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 3.32k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::try_select <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 2 | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 2 | match &self.flavor { | 1338 | 0 | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 0 | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 2 | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 2 | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1336 | 137k | fn try_select(&self, token: &mut Token) -> bool { | 1337 | 137k | match &self.flavor { | 1338 | 42.0k | SenderFlavor::Array(chan) => chan.sender().try_select(token), | 1339 | 41.7k | SenderFlavor::List(chan) => chan.sender().try_select(token), | 1340 | 54.0k | SenderFlavor::Zero(chan) => chan.sender().try_select(token), | 1341 | | } | 1342 | 137k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::try_select |
1343 | | |
1344 | 67.1k | fn deadline(&self) -> Option<Instant> { |
1345 | 67.1k | None |
1346 | 67.1k | } <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 17.0k | fn deadline(&self) -> Option<Instant> { | 1345 | 17.0k | None | 1346 | 17.0k | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 1.13k | fn deadline(&self) -> Option<Instant> { | 1345 | 1.13k | None | 1346 | 1.13k | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 612 | fn deadline(&self) -> Option<Instant> { | 1345 | 612 | None | 1346 | 612 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 21 | fn deadline(&self) -> Option<Instant> { | 1345 | 21 | None | 1346 | 21 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 869 | fn deadline(&self) -> Option<Instant> { | 1345 | 869 | None | 1346 | 869 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 29.2k | fn deadline(&self) -> Option<Instant> { | 1345 | 29.2k | None | 1346 | 29.2k | } |
<crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 488 | fn deadline(&self) -> Option<Instant> { | 1345 | 488 | None | 1346 | 488 | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 171 | fn deadline(&self) -> Option<Instant> { | 1345 | 171 | None | 1346 | 171 | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 1.12k | fn deadline(&self) -> Option<Instant> { | 1345 | 1.12k | None | 1346 | 1.12k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 168 | fn deadline(&self) -> Option<Instant> { | 1345 | 168 | None | 1346 | 168 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 24 | fn deadline(&self) -> Option<Instant> { | 1345 | 24 | None | 1346 | 24 | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 16.2k | fn deadline(&self) -> Option<Instant> { | 1345 | 16.2k | None | 1346 | 16.2k | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1344 | 4 | fn deadline(&self) -> Option<Instant> { | 1345 | 4 | None | 1346 | 4 | } |
|
1347 | | |
1348 | 4.69M | fn register(&self, oper: Operation, cx: &Context) -> bool { |
1349 | 4.69M | match &self.flavor { |
1350 | 10.4k | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), |
1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), |
1352 | 4.68M | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), |
1353 | | } |
1354 | 4.69M | } <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 44.1k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 44.1k | match &self.flavor { | 1350 | 7 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 44.1k | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 44.1k | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1.93k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1.93k | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 1.93k | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1.93k | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1.31M | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1.31M | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 1.31M | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1.31M | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 992 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 992 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 992 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 992 | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1.14k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1.14k | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 1.14k | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1.14k | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1 | match &self.flavor { | 1350 | 1 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 0 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::register <crossbeam_channel::channel::Sender<u32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 2 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 2 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 2 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 2 | } |
<crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 522 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 522 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 522 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 522 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 2 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 2 | match &self.flavor { | 1350 | 2 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 0 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 2 | } |
<crossbeam_channel::channel::Sender<i64> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 1 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1 | } |
<crossbeam_channel::channel::Sender<alloc::string::String> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 1 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1 | } |
<crossbeam_channel::channel::Sender<bool> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 1 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 53.7k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 53.7k | match &self.flavor { | 1350 | 10.3k | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 43.3k | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 53.7k | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 1.67k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 1.67k | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 1.67k | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 1.67k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 493 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 493 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 493 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 493 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 3.25M | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 3.25M | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 3.25M | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 3.25M | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 3.37k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 3.37k | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 3.37k | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 3.37k | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 2 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 2 | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 2 | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::register <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1348 | 16.2k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1349 | 16.2k | match &self.flavor { | 1350 | 0 | SenderFlavor::Array(chan) => chan.sender().register(oper, cx), | 1351 | 0 | SenderFlavor::List(chan) => chan.sender().register(oper, cx), | 1352 | 16.2k | SenderFlavor::Zero(chan) => chan.sender().register(oper, cx), | 1353 | | } | 1354 | 16.2k | } |
|
1355 | | |
1356 | 4.69M | fn unregister(&self, oper: Operation) { |
1357 | 4.69M | match &self.flavor { |
1358 | 10.4k | SenderFlavor::Array(chan) => chan.sender().unregister(oper), |
1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), |
1360 | 4.68M | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), |
1361 | | } |
1362 | 4.69M | } <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 44.1k | fn unregister(&self, oper: Operation) { | 1357 | 44.1k | match &self.flavor { | 1358 | 7 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 44.1k | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 44.1k | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1.14k | fn unregister(&self, oper: Operation) { | 1357 | 1.14k | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 1.14k | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1.14k | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 992 | fn unregister(&self, oper: Operation) { | 1357 | 992 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 992 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 992 | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1.91k | fn unregister(&self, oper: Operation) { | 1357 | 1.91k | match &self.flavor { | 1358 | 1 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 1.91k | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1.91k | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1.31M | fn unregister(&self, oper: Operation) { | 1357 | 1.31M | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 1.31M | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1.31M | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1 | fn unregister(&self, oper: Operation) { | 1357 | 1 | match &self.flavor { | 1358 | 1 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 0 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Sender<i64> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1 | fn unregister(&self, oper: Operation) { | 1357 | 1 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 1 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1 | } |
<crossbeam_channel::channel::Sender<bool> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1 | fn unregister(&self, oper: Operation) { | 1357 | 1 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 1 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 2 | fn unregister(&self, oper: Operation) { | 1357 | 2 | match &self.flavor { | 1358 | 2 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 0 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 2 | } |
<crossbeam_channel::channel::Sender<u32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 2 | fn unregister(&self, oper: Operation) { | 1357 | 2 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 2 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 2 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 53.7k | fn unregister(&self, oper: Operation) { | 1357 | 53.7k | match &self.flavor { | 1358 | 10.3k | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 43.3k | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 53.7k | } |
<crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 522 | fn unregister(&self, oper: Operation) { | 1357 | 522 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 522 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 522 | } |
<crossbeam_channel::channel::Sender<alloc::string::String> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1 | fn unregister(&self, oper: Operation) { | 1357 | 1 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 1 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 493 | fn unregister(&self, oper: Operation) { | 1357 | 493 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 493 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 493 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 3.25M | fn unregister(&self, oper: Operation) { | 1357 | 3.25M | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 3.25M | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 3.25M | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 1.67k | fn unregister(&self, oper: Operation) { | 1357 | 1.67k | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 1.67k | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 1.67k | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 3.37k | fn unregister(&self, oper: Operation) { | 1357 | 3.37k | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 3.37k | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 3.37k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 2 | fn unregister(&self, oper: Operation) { | 1357 | 2 | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 2 | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1356 | 16.2k | fn unregister(&self, oper: Operation) { | 1357 | 16.2k | match &self.flavor { | 1358 | 0 | SenderFlavor::Array(chan) => chan.sender().unregister(oper), | 1359 | 0 | SenderFlavor::List(chan) => chan.sender().unregister(oper), | 1360 | 16.2k | SenderFlavor::Zero(chan) => chan.sender().unregister(oper), | 1361 | | } | 1362 | 16.2k | } |
|
1363 | | |
1364 | 60.0k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { |
1365 | 60.0k | match &self.flavor { |
1366 | 4.47k | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), |
1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), |
1368 | 55.5k | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), |
1369 | | } |
1370 | 60.0k | } <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 19.3k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 19.3k | match &self.flavor { | 1366 | 1 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 19.3k | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 19.3k | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 1.13k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 1.13k | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 1.13k | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 1.13k | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 158 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 158 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 158 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 158 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 19 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 19 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 19 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 19 | } |
<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 869 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 869 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 869 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 869 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Sender<i64> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Sender<bool> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Sender<u32> as crossbeam_channel::select::SelectHandle>::accept <crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 492 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 492 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 492 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 492 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 20.7k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 20.7k | match &self.flavor { | 1366 | 4.47k | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 16.3k | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 20.7k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::string::String> as crossbeam_channel::select::SelectHandle>::accept <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 168 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 168 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 168 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 168 | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 24 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 24 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 24 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 24 | } |
<crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 584 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 584 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 584 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 584 | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 122 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 122 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 122 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 122 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::accept <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 16.2k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 16.2k | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 16.2k | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 16.2k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::accept <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1364 | 1 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1365 | 1 | match &self.flavor { | 1366 | 0 | SenderFlavor::Array(chan) => chan.sender().accept(token, cx), | 1367 | 0 | SenderFlavor::List(chan) => chan.sender().accept(token, cx), | 1368 | 1 | SenderFlavor::Zero(chan) => chan.sender().accept(token, cx), | 1369 | | } | 1370 | 1 | } |
|
1371 | | |
1372 | 51.4k | fn is_ready(&self) -> bool { |
1373 | 51.4k | match &self.flavor { |
1374 | 3.02k | SenderFlavor::Array(chan) => chan.sender().is_ready(), |
1375 | 8 | SenderFlavor::List(chan) => chan.sender().is_ready(), |
1376 | 48.3k | SenderFlavor::Zero(chan) => chan.sender().is_ready(), |
1377 | | } |
1378 | 51.4k | } Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<i64> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<bool> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::string::String> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<u32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::is_ready <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1372 | 3.00k | fn is_ready(&self) -> bool { | 1373 | 3.00k | match &self.flavor { | 1374 | 3.00k | SenderFlavor::Array(chan) => chan.sender().is_ready(), | 1375 | 0 | SenderFlavor::List(chan) => chan.sender().is_ready(), | 1376 | 0 | SenderFlavor::Zero(chan) => chan.sender().is_ready(), | 1377 | | } | 1378 | 3.00k | } |
<crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1372 | 48.3k | fn is_ready(&self) -> bool { | 1373 | 48.3k | match &self.flavor { | 1374 | 23 | SenderFlavor::Array(chan) => chan.sender().is_ready(), | 1375 | 0 | SenderFlavor::List(chan) => chan.sender().is_ready(), | 1376 | 48.3k | SenderFlavor::Zero(chan) => chan.sender().is_ready(), | 1377 | | } | 1378 | 48.3k | } |
<crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1372 | 47 | fn is_ready(&self) -> bool { | 1373 | 47 | match &self.flavor { | 1374 | 0 | SenderFlavor::Array(chan) => chan.sender().is_ready(), | 1375 | 8 | SenderFlavor::List(chan) => chan.sender().is_ready(), | 1376 | 39 | SenderFlavor::Zero(chan) => chan.sender().is_ready(), | 1377 | | } | 1378 | 47 | } |
|
1379 | | |
1380 | 2 | fn watch(&self, oper: Operation, cx: &Context) -> bool { |
1381 | 2 | match &self.flavor { |
1382 | 0 | SenderFlavor::Array(chan) => chan.sender().watch(oper, cx), |
1383 | 0 | SenderFlavor::List(chan) => chan.sender().watch(oper, cx), |
1384 | 2 | SenderFlavor::Zero(chan) => chan.sender().watch(oper, cx), |
1385 | | } |
1386 | 2 | } Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<u32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<bool> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::string::String> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i64> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::watch <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::watch Line | Count | Source | 1380 | 2 | fn watch(&self, oper: Operation, cx: &Context) -> bool { | 1381 | 2 | match &self.flavor { | 1382 | 0 | SenderFlavor::Array(chan) => chan.sender().watch(oper, cx), | 1383 | 0 | SenderFlavor::List(chan) => chan.sender().watch(oper, cx), | 1384 | 2 | SenderFlavor::Zero(chan) => chan.sender().watch(oper, cx), | 1385 | | } | 1386 | 2 | } |
|
1387 | | |
1388 | 2 | fn unwatch(&self, oper: Operation) { |
1389 | 2 | match &self.flavor { |
1390 | 0 | SenderFlavor::Array(chan) => chan.sender().unwatch(oper), |
1391 | 0 | SenderFlavor::List(chan) => chan.sender().unwatch(oper), |
1392 | 2 | SenderFlavor::Zero(chan) => chan.sender().unwatch(oper), |
1393 | | } |
1394 | 2 | } Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<u8> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<u32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::string::String> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<bool> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i64> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unwatch <crossbeam_channel::channel::Sender<i32> as crossbeam_channel::select::SelectHandle>::unwatch Line | Count | Source | 1388 | 2 | fn unwatch(&self, oper: Operation) { | 1389 | 2 | match &self.flavor { | 1390 | 0 | SenderFlavor::Array(chan) => chan.sender().unwatch(oper), | 1391 | 0 | SenderFlavor::List(chan) => chan.sender().unwatch(oper), | 1392 | 2 | SenderFlavor::Zero(chan) => chan.sender().unwatch(oper), | 1393 | | } | 1394 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Sender<usize> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Sender<()> as crossbeam_channel::select::SelectHandle>::unwatch |
1395 | | } |
1396 | | |
1397 | | impl<T> SelectHandle for Receiver<T> { |
1398 | 9.56M | fn try_select(&self, token: &mut Token) -> bool { |
1399 | 9.56M | match &self.flavor { |
1400 | 695k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), |
1401 | 985k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), |
1402 | 7.83M | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), |
1403 | 32.9k | ReceiverFlavor::At(chan) => chan.try_select(token), |
1404 | 14.5k | ReceiverFlavor::Tick(chan) => chan.try_select(token), |
1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), |
1406 | | } |
1407 | 9.56M | } <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 54.8k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 54.8k | match &self.flavor { | 1400 | 31 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 54.8k | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 54.8k | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 594k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 594k | match &self.flavor { | 1400 | 297k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 297k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 26 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 594k | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 62.5k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 62.5k | match &self.flavor { | 1400 | 15.0k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 15.4k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 32.0k | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 62.5k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 4.09k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 4.09k | match &self.flavor { | 1400 | 2.51k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 1.57k | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 4.09k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 7.67M | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 7.67M | match &self.flavor { | 1400 | 8.77k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 8.46k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 7.65M | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 7.67M | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 5.08k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 5.08k | match &self.flavor { | 1400 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 2.50k | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 2.58k | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 5.08k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 2 | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 2 | match &self.flavor { | 1400 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 2 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 2 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 24.8k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 24.8k | match &self.flavor { | 1400 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 24.8k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 2 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 24.8k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 27.9k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 27.9k | match &self.flavor { | 1400 | 18.4E | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 27.9k | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 27.9k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 19.8k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 19.8k | match &self.flavor { | 1400 | 19.8k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 19.8k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 9.34k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 9.34k | match &self.flavor { | 1400 | 18.4E | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 42 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 9.33k | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 9.34k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 1 | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 1 | match &self.flavor { | 1400 | 1 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 19.9k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 19.9k | match &self.flavor { | 1400 | 7 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 19.9k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 19.9k | } |
<crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 21.9k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 21.9k | match &self.flavor { | 1400 | 10.0k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 11.9k | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 21.9k | } |
<crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 1 | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 1 | match &self.flavor { | 1400 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 1 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 382k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 382k | match &self.flavor { | 1400 | 25.7k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 300k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 57.1k | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 382k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 33.7k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 33.7k | match &self.flavor { | 1400 | 14.0k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 14.4k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 5.26k | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 33.7k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 5.08k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 5.08k | match &self.flavor { | 1400 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 0 | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 2.50k | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 2.58k | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 5.08k | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 565k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 565k | match &self.flavor { | 1400 | 281k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 284k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 29 | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 565k | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::try_select Line | Count | Source | 1398 | 58.3k | fn try_select(&self, token: &mut Token) -> bool { | 1399 | 58.3k | match &self.flavor { | 1400 | 21.1k | ReceiverFlavor::Array(chan) => chan.receiver().try_select(token), | 1401 | 21.1k | ReceiverFlavor::List(chan) => chan.receiver().try_select(token), | 1402 | 16.0k | ReceiverFlavor::Zero(chan) => chan.receiver().try_select(token), | 1403 | 0 | ReceiverFlavor::At(chan) => chan.try_select(token), | 1404 | 0 | ReceiverFlavor::Tick(chan) => chan.try_select(token), | 1405 | 0 | ReceiverFlavor::Never(chan) => chan.try_select(token), | 1406 | | } | 1407 | 58.3k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::try_select Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::try_select Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::try_select Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::try_select Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::try_select |
1408 | | |
1409 | 36.0k | fn deadline(&self) -> Option<Instant> { |
1410 | 36.0k | match &self.flavor { |
1411 | 36.0k | ReceiverFlavor::Array(_) => None2.11k , |
1412 | 4.56k | ReceiverFlavor::List(_) => None, |
1413 | 9.07k | ReceiverFlavor::Zero(_) => None, |
1414 | 14.6k | ReceiverFlavor::At(chan) => chan.deadline(), |
1415 | 5.58k | ReceiverFlavor::Tick(chan) => chan.deadline(), |
1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), |
1417 | | } |
1418 | 36.0k | } <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 659 | fn deadline(&self) -> Option<Instant> { | 1410 | 659 | match &self.flavor { | 1411 | 659 | ReceiverFlavor::Array(_) => None0 , | 1412 | 0 | ReceiverFlavor::List(_) => None, | 1413 | 659 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 659 | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 782 | fn deadline(&self) -> Option<Instant> { | 1410 | 782 | match &self.flavor { | 1411 | 782 | ReceiverFlavor::Array(_) => None152 , | 1412 | 148 | ReceiverFlavor::List(_) => None, | 1413 | 482 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 782 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::deadline <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 570 | fn deadline(&self) -> Option<Instant> { | 1410 | 570 | match &self.flavor { | 1411 | 570 | ReceiverFlavor::Array(_) => None439 , | 1412 | 0 | ReceiverFlavor::List(_) => None, | 1413 | 131 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 570 | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 65 | fn deadline(&self) -> Option<Instant> { | 1410 | 65 | match &self.flavor { | 1411 | 65 | ReceiverFlavor::Array(_) => None21 , | 1412 | 23 | ReceiverFlavor::List(_) => None, | 1413 | 21 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 65 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 28 | fn deadline(&self) -> Option<Instant> { | 1410 | 28 | match &self.flavor { | 1411 | 28 | ReceiverFlavor::Array(_) => None0 , | 1412 | 7 | ReceiverFlavor::List(_) => None, | 1413 | 21 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 28 | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 2 | fn deadline(&self) -> Option<Instant> { | 1410 | 2 | match &self.flavor { | 1411 | 2 | ReceiverFlavor::Array(_) => None0 , | 1412 | 2 | ReceiverFlavor::List(_) => None, | 1413 | 0 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 2 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 3.59k | fn deadline(&self) -> Option<Instant> { | 1410 | 3.59k | match &self.flavor { | 1411 | 3.59k | ReceiverFlavor::Array(_) => None0 , | 1412 | 3.59k | ReceiverFlavor::List(_) => None, | 1413 | 0 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 3.59k | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 14.6k | fn deadline(&self) -> Option<Instant> { | 1410 | 14.6k | match &self.flavor { | 1411 | 14.6k | ReceiverFlavor::Array(_) => None49 , | 1412 | 0 | ReceiverFlavor::List(_) => None, | 1413 | 0 | ReceiverFlavor::Zero(_) => None, | 1414 | 14.6k | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 14.6k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 5.65k | fn deadline(&self) -> Option<Instant> { | 1410 | 5.65k | match &self.flavor { | 1411 | 18.4E | ReceiverFlavor::Array(_) => None, | 1412 | 0 | ReceiverFlavor::List(_) => None, | 1413 | 0 | ReceiverFlavor::Zero(_) => None, | 1414 | 72 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 5.58k | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 5.65k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::deadline Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Unexecuted instantiation: <crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::deadline Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 7.84k | fn deadline(&self) -> Option<Instant> { | 1410 | 7.84k | match &self.flavor { | 1411 | 7.84k | ReceiverFlavor::Array(_) => None684 , | 1412 | 4 | ReceiverFlavor::List(_) => None, | 1413 | 7.15k | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 7.84k | } |
<crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 488 | fn deadline(&self) -> Option<Instant> { | 1410 | 488 | match &self.flavor { | 1411 | 488 | ReceiverFlavor::Array(_) => None0 , | 1412 | 0 | ReceiverFlavor::List(_) => None, | 1413 | 488 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 488 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 25 | fn deadline(&self) -> Option<Instant> { | 1410 | 25 | match &self.flavor { | 1411 | 25 | ReceiverFlavor::Array(_) => None0 , | 1412 | 8 | ReceiverFlavor::List(_) => None, | 1413 | 17 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 25 | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 1.61k | fn deadline(&self) -> Option<Instant> { | 1410 | 1.61k | match &self.flavor { | 1411 | 1.61k | ReceiverFlavor::Array(_) => None764 , | 1412 | 764 | ReceiverFlavor::List(_) => None, | 1413 | 89 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 1.61k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::deadline <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 20 | fn deadline(&self) -> Option<Instant> { | 1410 | 20 | match &self.flavor { | 1411 | 20 | ReceiverFlavor::Array(_) => None6 , | 1412 | 8 | ReceiverFlavor::List(_) => None, | 1413 | 6 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 20 | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 8 | fn deadline(&self) -> Option<Instant> { | 1410 | 8 | match &self.flavor { | 1411 | 8 | ReceiverFlavor::Array(_) => None2 , | 1412 | 4 | ReceiverFlavor::List(_) => None, | 1413 | 2 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 8 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::deadline <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::deadline Line | Count | Source | 1409 | 9 | fn deadline(&self) -> Option<Instant> { | 1410 | 9 | match &self.flavor { | 1411 | 9 | ReceiverFlavor::Array(_) => None0 , | 1412 | 5 | ReceiverFlavor::List(_) => None, | 1413 | 4 | ReceiverFlavor::Zero(_) => None, | 1414 | 0 | ReceiverFlavor::At(chan) => chan.deadline(), | 1415 | 0 | ReceiverFlavor::Tick(chan) => chan.deadline(), | 1416 | 0 | ReceiverFlavor::Never(chan) => chan.deadline(), | 1417 | | } | 1418 | 9 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::deadline Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::deadline |
1419 | | |
1420 | 3.91M | fn register(&self, oper: Operation, cx: &Context) -> bool { |
1421 | 3.91M | match &self.flavor { |
1422 | 9.02k | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), |
1423 | 18.5k | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), |
1424 | 3.87M | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), |
1425 | 10.3k | ReceiverFlavor::At(chan) => chan.register(oper, cx), |
1426 | 5.49k | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), |
1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), |
1428 | | } |
1429 | 3.91M | } <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 11.0k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 11.0k | match &self.flavor { | 1422 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 0 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 11.0k | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 11.0k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::register <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 1.66k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 1.66k | match &self.flavor { | 1422 | 955 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 0 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 709 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 1.66k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 3.84M | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 3.84M | match &self.flavor { | 1422 | 120 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 109 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 3.84M | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 3.84M | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 36 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 36 | match &self.flavor { | 1422 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 12 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 24 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 36 | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 3.24k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 3.24k | match &self.flavor { | 1422 | 498 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 517 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 2.23k | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 3.24k | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 11.9k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 11.9k | match &self.flavor { | 1422 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 11.9k | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 1 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 11.9k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 2 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 2 | match &self.flavor { | 1422 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 2 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 2 | } |
<crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 10.3k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 10.3k | match &self.flavor { | 1422 | 7 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 0 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 10.3k | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 10.3k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 5.52k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 5.52k | match &self.flavor { | 1422 | 18.4E | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 0 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 35 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 5.49k | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 5.52k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 15.4k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 15.4k | match &self.flavor { | 1422 | 1.39k | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 4 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 14.0k | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 15.4k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register <crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 506 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 506 | match &self.flavor { | 1422 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 0 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 506 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 506 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 35 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 35 | match &self.flavor { | 1422 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 10 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 25 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 35 | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 12.4k | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 12.4k | match &self.flavor { | 1422 | 5.75k | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 5.64k | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 997 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 12.4k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::register <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Line | Count | Source | 1420 | 897 | fn register(&self, oper: Operation, cx: &Context) -> bool { | 1421 | 897 | match &self.flavor { | 1422 | 305 | ReceiverFlavor::Array(chan) => chan.receiver().register(oper, cx), | 1423 | 328 | ReceiverFlavor::List(chan) => chan.receiver().register(oper, cx), | 1424 | 264 | ReceiverFlavor::Zero(chan) => chan.receiver().register(oper, cx), | 1425 | 0 | ReceiverFlavor::At(chan) => chan.register(oper, cx), | 1426 | 0 | ReceiverFlavor::Tick(chan) => chan.register(oper, cx), | 1427 | 0 | ReceiverFlavor::Never(chan) => chan.register(oper, cx), | 1428 | | } | 1429 | 897 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::register Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::register |
1430 | | |
1431 | 3.91M | fn unregister(&self, oper: Operation) { |
1432 | 3.91M | match &self.flavor { |
1433 | 9.06k | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), |
1434 | 18.5k | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), |
1435 | 3.87M | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), |
1436 | 9.26k | ReceiverFlavor::At(chan) => chan.unregister(oper), |
1437 | 5.48k | ReceiverFlavor::Tick(chan) => chan.unregister(oper), |
1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), |
1439 | | } |
1440 | 3.91M | } <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 11.0k | fn unregister(&self, oper: Operation) { | 1432 | 11.0k | match &self.flavor { | 1433 | 1 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 10.9k | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 11.0k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 1.66k | fn unregister(&self, oper: Operation) { | 1432 | 1.66k | match &self.flavor { | 1433 | 955 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 709 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 1.66k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 3.23k | fn unregister(&self, oper: Operation) { | 1432 | 3.23k | match &self.flavor { | 1433 | 498 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 517 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 2.21k | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 3.23k | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 36 | fn unregister(&self, oper: Operation) { | 1432 | 36 | match &self.flavor { | 1433 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 12 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 24 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 36 | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 3.84M | fn unregister(&self, oper: Operation) { | 1432 | 3.84M | match &self.flavor { | 1433 | 89 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 109 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 3.84M | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 3.84M | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 11.9k | fn unregister(&self, oper: Operation) { | 1432 | 11.9k | match &self.flavor { | 1433 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 11.9k | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 1 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 11.9k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 2 | fn unregister(&self, oper: Operation) { | 1432 | 2 | match &self.flavor { | 1433 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 2 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 9.30k | fn unregister(&self, oper: Operation) { | 1432 | 9.30k | match &self.flavor { | 1433 | 73 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 9.23k | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 9.30k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 5.52k | fn unregister(&self, oper: Operation) { | 1432 | 5.52k | match &self.flavor { | 1433 | 1 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 34 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 5.48k | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 5.52k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 15.4k | fn unregister(&self, oper: Operation) { | 1432 | 15.4k | match &self.flavor { | 1433 | 1.38k | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 4 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 14.0k | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 15.4k | } |
<crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 506 | fn unregister(&self, oper: Operation) { | 1432 | 506 | match &self.flavor { | 1433 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 506 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 506 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 35 | fn unregister(&self, oper: Operation) { | 1432 | 35 | match &self.flavor { | 1433 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 10 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 25 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 35 | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 897 | fn unregister(&self, oper: Operation) { | 1432 | 897 | match &self.flavor { | 1433 | 305 | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 328 | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 264 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 897 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unregister <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::unregister Line | Count | Source | 1431 | 12.4k | fn unregister(&self, oper: Operation) { | 1432 | 12.4k | match &self.flavor { | 1433 | 5.75k | ReceiverFlavor::Array(chan) => chan.receiver().unregister(oper), | 1434 | 5.64k | ReceiverFlavor::List(chan) => chan.receiver().unregister(oper), | 1435 | 997 | ReceiverFlavor::Zero(chan) => chan.receiver().unregister(oper), | 1436 | 0 | ReceiverFlavor::At(chan) => chan.unregister(oper), | 1437 | 0 | ReceiverFlavor::Tick(chan) => chan.unregister(oper), | 1438 | 0 | ReceiverFlavor::Never(chan) => chan.unregister(oper), | 1439 | | } | 1440 | 12.4k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unregister Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unregister |
1441 | | |
1442 | 8.59k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { |
1443 | 8.59k | match &self.flavor { |
1444 | 1.15k | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), |
1445 | 2.26k | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), |
1446 | 5.17k | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), |
1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), |
1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), |
1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), |
1450 | | } |
1451 | 8.59k | } <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 629 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 629 | match &self.flavor { | 1444 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 0 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 629 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 629 | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 641 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 641 | match &self.flavor { | 1444 | 88 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 63 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 490 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 641 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 6 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 6 | match &self.flavor { | 1444 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 2 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 4 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 6 | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 570 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 570 | match &self.flavor { | 1444 | 439 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 0 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 131 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 570 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::accept <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 24 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 24 | match &self.flavor { | 1444 | 4 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 9 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 11 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 24 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 1.79k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 1.79k | match &self.flavor { | 1444 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 1.79k | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 1.79k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 1 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 1 | match &self.flavor { | 1444 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 1 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 3.98k | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 3.98k | match &self.flavor { | 1444 | 195 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 2 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 3.78k | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 3.98k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 20 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 20 | match &self.flavor { | 1444 | 2 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 2 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 16 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 20 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::accept <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 918 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 918 | match &self.flavor { | 1444 | 431 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 386 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 101 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 918 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::accept Line | Count | Source | 1442 | 6 | fn accept(&self, token: &mut Token, cx: &Context) -> bool { | 1443 | 6 | match &self.flavor { | 1444 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().accept(token, cx), | 1445 | 2 | ReceiverFlavor::List(chan) => chan.receiver().accept(token, cx), | 1446 | 4 | ReceiverFlavor::Zero(chan) => chan.receiver().accept(token, cx), | 1447 | 0 | ReceiverFlavor::At(chan) => chan.accept(token, cx), | 1448 | 0 | ReceiverFlavor::Tick(chan) => chan.accept(token, cx), | 1449 | 0 | ReceiverFlavor::Never(chan) => chan.accept(token, cx), | 1450 | | } | 1451 | 6 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::accept Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::accept |
1452 | | |
1453 | 307k | fn is_ready(&self) -> bool { |
1454 | 307k | match &self.flavor { |
1455 | 95.9k | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), |
1456 | 83.4k | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), |
1457 | 70.7k | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), |
1458 | 53.5k | ReceiverFlavor::At(chan) => chan.is_ready(), |
1459 | 3.43k | ReceiverFlavor::Tick(chan) => chan.is_ready(), |
1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), |
1461 | | } |
1462 | 307k | } Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::is_ready <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1453 | 52.2k | fn is_ready(&self) -> bool { | 1454 | 52.2k | match &self.flavor { | 1455 | 1.59k | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), | 1456 | 0 | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), | 1457 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), | 1458 | 50.6k | ReceiverFlavor::At(chan) => chan.is_ready(), | 1459 | 0 | ReceiverFlavor::Tick(chan) => chan.is_ready(), | 1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), | 1461 | | } | 1462 | 52.2k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1453 | 1.26k | fn is_ready(&self) -> bool { | 1454 | 1.26k | match &self.flavor { | 1455 | 18.4E | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), | 1456 | 0 | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), | 1457 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), | 1458 | 431 | ReceiverFlavor::At(chan) => chan.is_ready(), | 1459 | 855 | ReceiverFlavor::Tick(chan) => chan.is_ready(), | 1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), | 1461 | | } | 1462 | 1.26k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::is_ready Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::is_ready <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1453 | 5.08k | fn is_ready(&self) -> bool { | 1454 | 5.08k | match &self.flavor { | 1455 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), | 1456 | 0 | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), | 1457 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), | 1458 | 2.50k | ReceiverFlavor::At(chan) => chan.is_ready(), | 1459 | 2.58k | ReceiverFlavor::Tick(chan) => chan.is_ready(), | 1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), | 1461 | | } | 1462 | 5.08k | } |
<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1453 | 11.6k | fn is_ready(&self) -> bool { | 1454 | 11.6k | match &self.flavor { | 1455 | 11.6k | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), | 1456 | 0 | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), | 1457 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), | 1458 | 0 | ReceiverFlavor::At(chan) => chan.is_ready(), | 1459 | 0 | ReceiverFlavor::Tick(chan) => chan.is_ready(), | 1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), | 1461 | | } | 1462 | 11.6k | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1453 | 189k | fn is_ready(&self) -> bool { | 1454 | 189k | match &self.flavor { | 1455 | 67.1k | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), | 1456 | 67.3k | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), | 1457 | 54.5k | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), | 1458 | 0 | ReceiverFlavor::At(chan) => chan.is_ready(), | 1459 | 0 | ReceiverFlavor::Tick(chan) => chan.is_ready(), | 1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), | 1461 | | } | 1462 | 189k | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1453 | 47.6k | fn is_ready(&self) -> bool { | 1454 | 47.6k | match &self.flavor { | 1455 | 15.6k | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), | 1456 | 15.8k | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), | 1457 | 16.1k | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), | 1458 | 0 | ReceiverFlavor::At(chan) => chan.is_ready(), | 1459 | 0 | ReceiverFlavor::Tick(chan) => chan.is_ready(), | 1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), | 1461 | | } | 1462 | 47.6k | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::is_ready Line | Count | Source | 1453 | 212 | fn is_ready(&self) -> bool { | 1454 | 212 | match &self.flavor { | 1455 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().is_ready(), | 1456 | 151 | ReceiverFlavor::List(chan) => chan.receiver().is_ready(), | 1457 | 61 | ReceiverFlavor::Zero(chan) => chan.receiver().is_ready(), | 1458 | 0 | ReceiverFlavor::At(chan) => chan.is_ready(), | 1459 | 0 | ReceiverFlavor::Tick(chan) => chan.is_ready(), | 1460 | 0 | ReceiverFlavor::Never(chan) => chan.is_ready(), | 1461 | | } | 1462 | 212 | } |
|
1463 | | |
1464 | 3.82k | fn watch(&self, oper: Operation, cx: &Context) -> bool { |
1465 | 3.82k | match &self.flavor { |
1466 | 70 | ReceiverFlavor::Array(chan) => chan.receiver().watch(oper, cx), |
1467 | 11 | ReceiverFlavor::List(chan) => chan.receiver().watch(oper, cx), |
1468 | 8 | ReceiverFlavor::Zero(chan) => chan.receiver().watch(oper, cx), |
1469 | 3.66k | ReceiverFlavor::At(chan) => chan.watch(oper, cx), |
1470 | 71 | ReceiverFlavor::Tick(chan) => chan.watch(oper, cx), |
1471 | 0 | ReceiverFlavor::Never(chan) => chan.watch(oper, cx), |
1472 | | } |
1473 | 3.82k | } Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::watch Line | Count | Source | 1464 | 3.69k | fn watch(&self, oper: Operation, cx: &Context) -> bool { | 1465 | 3.69k | match &self.flavor { | 1466 | 66 | ReceiverFlavor::Array(chan) => chan.receiver().watch(oper, cx), | 1467 | 0 | ReceiverFlavor::List(chan) => chan.receiver().watch(oper, cx), | 1468 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().watch(oper, cx), | 1469 | 3.63k | ReceiverFlavor::At(chan) => chan.watch(oper, cx), | 1470 | 0 | ReceiverFlavor::Tick(chan) => chan.watch(oper, cx), | 1471 | 0 | ReceiverFlavor::Never(chan) => chan.watch(oper, cx), | 1472 | | } | 1473 | 3.69k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::watch Line | Count | Source | 1464 | 105 | fn watch(&self, oper: Operation, cx: &Context) -> bool { | 1465 | 105 | match &self.flavor { | 1466 | 18.4E | ReceiverFlavor::Array(chan) => chan.receiver().watch(oper, cx), | 1467 | 0 | ReceiverFlavor::List(chan) => chan.receiver().watch(oper, cx), | 1468 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().watch(oper, cx), | 1469 | 36 | ReceiverFlavor::At(chan) => chan.watch(oper, cx), | 1470 | 71 | ReceiverFlavor::Tick(chan) => chan.watch(oper, cx), | 1471 | 0 | ReceiverFlavor::Never(chan) => chan.watch(oper, cx), | 1472 | | } | 1473 | 105 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::watch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::watch <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::watch Line | Count | Source | 1464 | 1 | fn watch(&self, oper: Operation, cx: &Context) -> bool { | 1465 | 1 | match &self.flavor { | 1466 | 1 | ReceiverFlavor::Array(chan) => chan.receiver().watch(oper, cx), | 1467 | 0 | ReceiverFlavor::List(chan) => chan.receiver().watch(oper, cx), | 1468 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().watch(oper, cx), | 1469 | 0 | ReceiverFlavor::At(chan) => chan.watch(oper, cx), | 1470 | 0 | ReceiverFlavor::Tick(chan) => chan.watch(oper, cx), | 1471 | 0 | ReceiverFlavor::Never(chan) => chan.watch(oper, cx), | 1472 | | } | 1473 | 1 | } |
<crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::watch Line | Count | Source | 1464 | 9 | fn watch(&self, oper: Operation, cx: &Context) -> bool { | 1465 | 9 | match &self.flavor { | 1466 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().watch(oper, cx), | 1467 | 5 | ReceiverFlavor::List(chan) => chan.receiver().watch(oper, cx), | 1468 | 4 | ReceiverFlavor::Zero(chan) => chan.receiver().watch(oper, cx), | 1469 | 0 | ReceiverFlavor::At(chan) => chan.watch(oper, cx), | 1470 | 0 | ReceiverFlavor::Tick(chan) => chan.watch(oper, cx), | 1471 | 0 | ReceiverFlavor::Never(chan) => chan.watch(oper, cx), | 1472 | | } | 1473 | 9 | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::watch Line | Count | Source | 1464 | 1 | fn watch(&self, oper: Operation, cx: &Context) -> bool { | 1465 | 1 | match &self.flavor { | 1466 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().watch(oper, cx), | 1467 | 1 | ReceiverFlavor::List(chan) => chan.receiver().watch(oper, cx), | 1468 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().watch(oper, cx), | 1469 | 0 | ReceiverFlavor::At(chan) => chan.watch(oper, cx), | 1470 | 0 | ReceiverFlavor::Tick(chan) => chan.watch(oper, cx), | 1471 | 0 | ReceiverFlavor::Never(chan) => chan.watch(oper, cx), | 1472 | | } | 1473 | 1 | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::watch Line | Count | Source | 1464 | 14 | fn watch(&self, oper: Operation, cx: &Context) -> bool { | 1465 | 14 | match &self.flavor { | 1466 | 5 | ReceiverFlavor::Array(chan) => chan.receiver().watch(oper, cx), | 1467 | 5 | ReceiverFlavor::List(chan) => chan.receiver().watch(oper, cx), | 1468 | 4 | ReceiverFlavor::Zero(chan) => chan.receiver().watch(oper, cx), | 1469 | 0 | ReceiverFlavor::At(chan) => chan.watch(oper, cx), | 1470 | 0 | ReceiverFlavor::Tick(chan) => chan.watch(oper, cx), | 1471 | 0 | ReceiverFlavor::Never(chan) => chan.watch(oper, cx), | 1472 | | } | 1473 | 14 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::watch |
1474 | | |
1475 | 3.35k | fn unwatch(&self, oper: Operation) { |
1476 | 3.35k | match &self.flavor { |
1477 | 81 | ReceiverFlavor::Array(chan) => chan.receiver().unwatch(oper), |
1478 | 11 | ReceiverFlavor::List(chan) => chan.receiver().unwatch(oper), |
1479 | 8 | ReceiverFlavor::Zero(chan) => chan.receiver().unwatch(oper), |
1480 | 3.19k | ReceiverFlavor::At(chan) => chan.unwatch(oper), |
1481 | 66 | ReceiverFlavor::Tick(chan) => chan.unwatch(oper), |
1482 | 0 | ReceiverFlavor::Never(chan) => chan.unwatch(oper), |
1483 | | } |
1484 | 3.35k | } Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unwatch Line | Count | Source | 1475 | 3.23k | fn unwatch(&self, oper: Operation) { | 1476 | 3.23k | match &self.flavor { | 1477 | 81 | ReceiverFlavor::Array(chan) => chan.receiver().unwatch(oper), | 1478 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unwatch(oper), | 1479 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().unwatch(oper), | 1480 | 3.15k | ReceiverFlavor::At(chan) => chan.unwatch(oper), | 1481 | 0 | ReceiverFlavor::Tick(chan) => chan.unwatch(oper), | 1482 | 0 | ReceiverFlavor::Never(chan) => chan.unwatch(oper), | 1483 | | } | 1484 | 3.23k | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unwatch Line | Count | Source | 1475 | 96 | fn unwatch(&self, oper: Operation) { | 1476 | 96 | match &self.flavor { | 1477 | 18.4E | ReceiverFlavor::Array(chan) => chan.receiver().unwatch(oper), | 1478 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unwatch(oper), | 1479 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().unwatch(oper), | 1480 | 36 | ReceiverFlavor::At(chan) => chan.unwatch(oper), | 1481 | 66 | ReceiverFlavor::Tick(chan) => chan.unwatch(oper), | 1482 | 0 | ReceiverFlavor::Never(chan) => chan.unwatch(oper), | 1483 | | } | 1484 | 96 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<bool> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<u8> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unwatch Unexecuted instantiation: <crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::unwatch <crossbeam_channel::channel::Receiver<i32> as crossbeam_channel::select::SelectHandle>::unwatch Line | Count | Source | 1475 | 9 | fn unwatch(&self, oper: Operation) { | 1476 | 9 | match &self.flavor { | 1477 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().unwatch(oper), | 1478 | 5 | ReceiverFlavor::List(chan) => chan.receiver().unwatch(oper), | 1479 | 4 | ReceiverFlavor::Zero(chan) => chan.receiver().unwatch(oper), | 1480 | 0 | ReceiverFlavor::At(chan) => chan.unwatch(oper), | 1481 | 0 | ReceiverFlavor::Tick(chan) => chan.unwatch(oper), | 1482 | 0 | ReceiverFlavor::Never(chan) => chan.unwatch(oper), | 1483 | | } | 1484 | 9 | } |
Unexecuted instantiation: <crossbeam_channel::channel::Receiver<std::time::Instant> as crossbeam_channel::select::SelectHandle>::unwatch <crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as crossbeam_channel::select::SelectHandle>::unwatch Line | Count | Source | 1475 | 1 | fn unwatch(&self, oper: Operation) { | 1476 | 1 | match &self.flavor { | 1477 | 1 | ReceiverFlavor::Array(chan) => chan.receiver().unwatch(oper), | 1478 | 0 | ReceiverFlavor::List(chan) => chan.receiver().unwatch(oper), | 1479 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().unwatch(oper), | 1480 | 0 | ReceiverFlavor::At(chan) => chan.unwatch(oper), | 1481 | 0 | ReceiverFlavor::Tick(chan) => chan.unwatch(oper), | 1482 | 0 | ReceiverFlavor::Never(chan) => chan.unwatch(oper), | 1483 | | } | 1484 | 1 | } |
<crossbeam_channel::channel::Receiver<()> as crossbeam_channel::select::SelectHandle>::unwatch Line | Count | Source | 1475 | 14 | fn unwatch(&self, oper: Operation) { | 1476 | 14 | match &self.flavor { | 1477 | 5 | ReceiverFlavor::Array(chan) => chan.receiver().unwatch(oper), | 1478 | 5 | ReceiverFlavor::List(chan) => chan.receiver().unwatch(oper), | 1479 | 4 | ReceiverFlavor::Zero(chan) => chan.receiver().unwatch(oper), | 1480 | 0 | ReceiverFlavor::At(chan) => chan.unwatch(oper), | 1481 | 0 | ReceiverFlavor::Tick(chan) => chan.unwatch(oper), | 1482 | 0 | ReceiverFlavor::Never(chan) => chan.unwatch(oper), | 1483 | | } | 1484 | 14 | } |
<crossbeam_channel::channel::Receiver<usize> as crossbeam_channel::select::SelectHandle>::unwatch Line | Count | Source | 1475 | 1 | fn unwatch(&self, oper: Operation) { | 1476 | 1 | match &self.flavor { | 1477 | 0 | ReceiverFlavor::Array(chan) => chan.receiver().unwatch(oper), | 1478 | 1 | ReceiverFlavor::List(chan) => chan.receiver().unwatch(oper), | 1479 | 0 | ReceiverFlavor::Zero(chan) => chan.receiver().unwatch(oper), | 1480 | 0 | ReceiverFlavor::At(chan) => chan.unwatch(oper), | 1481 | 0 | ReceiverFlavor::Tick(chan) => chan.unwatch(oper), | 1482 | 0 | ReceiverFlavor::Never(chan) => chan.unwatch(oper), | 1483 | | } | 1484 | 1 | } |
|
1485 | | } |
1486 | | |
1487 | | /// Writes a message into the channel. |
1488 | 297k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { |
1489 | 297k | match &s.flavor { |
1490 | 90.9k | SenderFlavor::Array(chan) => chan.write(token, msg), |
1491 | 55.9k | SenderFlavor::List(chan) => chan.write(token, msg), |
1492 | 151k | SenderFlavor::Zero(chan) => chan.write(token, msg), |
1493 | | } |
1494 | 297k | } crossbeam_channel::channel::write::<()> Line | Count | Source | 1488 | 19.9k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 19.9k | match &s.flavor { | 1490 | 1 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 19.9k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 19.9k | } |
crossbeam_channel::channel::write::<()> Line | Count | Source | 1488 | 10.0k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 10.0k | match &s.flavor { | 1490 | 4.44k | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 4.40k | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 1.15k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 10.0k | } |
crossbeam_channel::channel::write::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 1488 | 3.00k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 3.00k | match &s.flavor { | 1490 | 2.00k | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 1.00k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 3.00k | } |
crossbeam_channel::channel::write::<i32> Line | Count | Source | 1488 | 33 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 33 | match &s.flavor { | 1490 | 0 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 9 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 24 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 33 | } |
crossbeam_channel::channel::write::<usize> Line | Count | Source | 1488 | 39.9k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 39.9k | match &s.flavor { | 1490 | 26 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 39.9k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 39.9k | } |
crossbeam_channel::channel::write::<()> Line | Count | Source | 1488 | 1 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 1 | match &s.flavor { | 1490 | 1 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 0 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 1 | } |
crossbeam_channel::channel::write::<i32> Line | Count | Source | 1488 | 1 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 1 | match &s.flavor { | 1490 | 1 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 0 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 1 | } |
crossbeam_channel::channel::write::<()> Line | Count | Source | 1488 | 1 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 1 | match &s.flavor { | 1490 | 0 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 1 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 0 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 1 | } |
crossbeam_channel::channel::write::<i32> Line | Count | Source | 1488 | 61.9k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 61.9k | match &s.flavor { | 1490 | 30.8k | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 31.0k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 61.9k | } |
Unexecuted instantiation: crossbeam_channel::channel::write::<alloc::boxed::Box<dyn core::any::Any>> crossbeam_channel::channel::write::<bool> Line | Count | Source | 1488 | 2 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 2 | match &s.flavor { | 1490 | 1 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 1 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 2 | } |
crossbeam_channel::channel::write::<alloc::string::String> Line | Count | Source | 1488 | 2 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 2 | match &s.flavor { | 1490 | 1 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 1 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 2 | } |
crossbeam_channel::channel::write::<u8> Line | Count | Source | 1488 | 10.0k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 10.0k | match &s.flavor { | 1490 | 0 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 10.0k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 10.0k | } |
crossbeam_channel::channel::write::<u32> Line | Count | Source | 1488 | 3 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 3 | match &s.flavor { | 1490 | 3 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 0 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 3 | } |
crossbeam_channel::channel::write::<i64> Line | Count | Source | 1488 | 2 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 2 | match &s.flavor { | 1490 | 1 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 1 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 2 | } |
crossbeam_channel::channel::write::<usize> Line | Count | Source | 1488 | 30.0k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 30.0k | match &s.flavor { | 1490 | 20 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 30.0k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 30.0k | } |
crossbeam_channel::channel::write::<i32> Line | Count | Source | 1488 | 57 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 57 | match &s.flavor { | 1490 | 0 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 18 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 39 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 57 | } |
crossbeam_channel::channel::write::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 1488 | 3.00k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 3.00k | match &s.flavor { | 1490 | 2.00k | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 1.00k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 3.00k | } |
crossbeam_channel::channel::write::<()> Line | Count | Source | 1488 | 19.9k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 19.9k | match &s.flavor { | 1490 | 9.54k | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 9.77k | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 601 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 19.9k | } |
crossbeam_channel::channel::write::<()> Line | Count | Source | 1488 | 100k | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 100k | match &s.flavor { | 1490 | 42.0k | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 41.7k | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 16.2k | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 100k | } |
crossbeam_channel::channel::write::<i32> Line | Count | Source | 1488 | 1 | pub(crate) unsafe fn write<T>(s: &Sender<T>, token: &mut Token, msg: T) -> Result<(), T> { | 1489 | 1 | match &s.flavor { | 1490 | 0 | SenderFlavor::Array(chan) => chan.write(token, msg), | 1491 | 0 | SenderFlavor::List(chan) => chan.write(token, msg), | 1492 | 1 | SenderFlavor::Zero(chan) => chan.write(token, msg), | 1493 | | } | 1494 | 1 | } |
|
1495 | | |
1496 | | /// Reads a message from the channel. |
1497 | 1.25M | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { |
1498 | 1.25M | match &r.flavor { |
1499 | 491k | ReceiverFlavor::Array(chan) => chan.read(token), |
1500 | 668k | ReceiverFlavor::List(chan) => chan.read(token), |
1501 | 74.7k | ReceiverFlavor::Zero(chan) => chan.read(token), |
1502 | 9.96k | ReceiverFlavor::At(chan) => { |
1503 | 9.96k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) |
1504 | | } |
1505 | 8.76k | ReceiverFlavor::Tick(chan) => { |
1506 | 8.76k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) |
1507 | | } |
1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), |
1509 | | } |
1510 | 1.25M | } crossbeam_channel::channel::read::<()> Line | Count | Source | 1497 | 19.9k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 19.9k | match &r.flavor { | 1499 | 4 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 19.9k | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 19.9k | } |
crossbeam_channel::channel::read::<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> Line | Count | Source | 1497 | 3.00k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 3.00k | match &r.flavor { | 1499 | 2.00k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 1.00k | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 3.00k | } |
crossbeam_channel::channel::read::<i32> Line | Count | Source | 1497 | 399k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 399k | match &r.flavor { | 1499 | 199k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 199k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 4 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 399k | } |
crossbeam_channel::channel::read::<usize> Line | Count | Source | 1497 | 39.9k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 39.9k | match &r.flavor { | 1499 | 9.92k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 10.0k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 20.0k | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 39.9k | } |
crossbeam_channel::channel::read::<std::time::Instant> Line | Count | Source | 1497 | 5.08k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 5.08k | match &r.flavor { | 1499 | 0 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 0 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 2.50k | ReceiverFlavor::At(chan) => { | 1503 | 2.50k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 2.58k | ReceiverFlavor::Tick(chan) => { | 1506 | 2.58k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 5.08k | } |
crossbeam_channel::channel::read::<()> Line | Count | Source | 1497 | 14.9k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 14.9k | match &r.flavor { | 1499 | 6.89k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 6.86k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 1.17k | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 14.9k | } |
crossbeam_channel::channel::read::<()> Line | Count | Source | 1497 | 1 | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 1 | match &r.flavor { | 1499 | 0 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 1 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 0 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 1 | } |
crossbeam_channel::channel::read::<i32> Line | Count | Source | 1497 | 10.0k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 10.0k | match &r.flavor { | 1499 | 0 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 10.0k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 1 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 10.0k | } |
crossbeam_channel::channel::read::<std::time::Instant> Line | Count | Source | 1497 | 4.96k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 4.96k | match &r.flavor { | 1499 | 10 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 0 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 4.95k | ReceiverFlavor::At(chan) => { | 1503 | 4.95k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 4.96k | } |
crossbeam_channel::channel::read::<()> Line | Count | Source | 1497 | 19.8k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 19.8k | match &r.flavor { | 1499 | 19.8k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 0 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 19.8k | } |
crossbeam_channel::channel::read::<std::time::Instant> Line | Count | Source | 1497 | 3.60k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 3.60k | match &r.flavor { | 1499 | 2 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 0 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 3 | ReceiverFlavor::At(chan) => { | 1503 | 3 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 3.59k | ReceiverFlavor::Tick(chan) => { | 1506 | 3.59k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 3.60k | } |
Unexecuted instantiation: crossbeam_channel::channel::read::<i32> crossbeam_channel::channel::read::<()> Line | Count | Source | 1497 | 19.8k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 19.8k | match &r.flavor { | 1499 | 8 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 19.8k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 0 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 19.8k | } |
crossbeam_channel::channel::read::<u8> Line | Count | Source | 1497 | 10.0k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 10.0k | match &r.flavor { | 1499 | 10.0k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 1 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 10.0k | } |
crossbeam_channel::channel::read::<i32> Line | Count | Source | 1497 | 243k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 243k | match &r.flavor { | 1499 | 21.1k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 200k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 21.9k | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 243k | } |
crossbeam_channel::channel::read::<bool> Line | Count | Source | 1497 | 1 | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 1 | match &r.flavor { | 1499 | 0 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 1 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 1 | } |
crossbeam_channel::channel::read::<i32> Line | Count | Source | 1497 | 399k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 399k | match &r.flavor { | 1499 | 199k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 199k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 5 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 399k | } |
crossbeam_channel::channel::read::<std::time::Instant> Line | Count | Source | 1497 | 5.08k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 5.08k | match &r.flavor { | 1499 | 0 | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 0 | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 0 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 2.50k | ReceiverFlavor::At(chan) => { | 1503 | 2.50k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 2.58k | ReceiverFlavor::Tick(chan) => { | 1506 | 2.58k | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 5.08k | } |
crossbeam_channel::channel::read::<()> Line | Count | Source | 1497 | 24.6k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 24.6k | match &r.flavor { | 1499 | 11.8k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 12.1k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 600 | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 24.6k | } |
crossbeam_channel::channel::read::<usize> Line | Count | Source | 1497 | 30.0k | pub(crate) unsafe fn read<T>(r: &Receiver<T>, token: &mut Token) -> Result<T, ()> { | 1498 | 30.0k | match &r.flavor { | 1499 | 10.0k | ReceiverFlavor::Array(chan) => chan.read(token), | 1500 | 10.0k | ReceiverFlavor::List(chan) => chan.read(token), | 1501 | 10.0k | ReceiverFlavor::Zero(chan) => chan.read(token), | 1502 | 0 | ReceiverFlavor::At(chan) => { | 1503 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1504 | | } | 1505 | 0 | ReceiverFlavor::Tick(chan) => { | 1506 | 0 | mem::transmute_copy::<Result<Instant, ()>, Result<T, ()>>(&chan.read(token)) | 1507 | | } | 1508 | 0 | ReceiverFlavor::Never(chan) => chan.read(token), | 1509 | | } | 1510 | 30.0k | } |
|