Coverage Report

Created: 2021-01-22 16:54

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
}