crossbeam-channel/src/counter.rs
Line | Count | Source (jump to first uncovered line) |
1 | | //! Reference counter for channels. |
2 | | |
3 | | use std::isize; |
4 | | use std::ops; |
5 | | use std::process; |
6 | | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; |
7 | | |
8 | | /// Reference counter internals. |
9 | | struct Counter<C> { |
10 | | /// The number of senders associated with the channel. |
11 | | senders: AtomicUsize, |
12 | | |
13 | | /// The number of receivers associated with the channel. |
14 | | receivers: AtomicUsize, |
15 | | |
16 | | /// Set to `true` if the last sender or the last receiver reference deallocates the channel. |
17 | | destroy: AtomicBool, |
18 | | |
19 | | /// The internal channel. |
20 | | chan: C, |
21 | | } |
22 | | |
23 | | /// Wraps a channel into the reference counter. |
24 | 49.6k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { |
25 | 49.6k | let counter = Box::into_raw(Box::new(Counter { |
26 | 49.6k | senders: AtomicUsize::new(1), |
27 | 49.6k | receivers: AtomicUsize::new(1), |
28 | 49.6k | destroy: AtomicBool::new(false), |
29 | 49.6k | chan, |
30 | 49.6k | })); |
31 | 49.6k | let s = Sender { counter }; |
32 | 49.6k | let r = Receiver { counter }; |
33 | 49.6k | (s, r) |
34 | 49.6k | } crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<i32>> Line | Count | Source | 24 | 8 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 8 | let counter = Box::into_raw(Box::new(Counter { | 26 | 8 | senders: AtomicUsize::new(1), | 27 | 8 | receivers: AtomicUsize::new(1), | 28 | 8 | destroy: AtomicBool::new(false), | 29 | 8 | chan, | 30 | 8 | })); | 31 | 8 | let s = Sender { counter }; | 32 | 8 | let r = Receiver { counter }; | 33 | 8 | (s, r) | 34 | 8 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 1.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 1.00k | senders: AtomicUsize::new(1), | 27 | 1.00k | receivers: AtomicUsize::new(1), | 28 | 1.00k | destroy: AtomicBool::new(false), | 29 | 1.00k | chan, | 30 | 1.00k | })); | 31 | 1.00k | let s = Sender { counter }; | 32 | 1.00k | let r = Receiver { counter }; | 33 | 1.00k | (s, r) | 34 | 1.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<zero::drops::DropCounter>> Line | Count | Source | 24 | 100 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 100 | let counter = Box::into_raw(Box::new(Counter { | 26 | 100 | senders: AtomicUsize::new(1), | 27 | 100 | receivers: AtomicUsize::new(1), | 28 | 100 | destroy: AtomicBool::new(false), | 29 | 100 | chan, | 30 | 100 | })); | 31 | 100 | let s = Sender { counter }; | 32 | 100 | let r = Receiver { counter }; | 33 | 100 | (s, r) | 34 | 100 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<usize>> Line | Count | Source | 24 | 5 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5 | let counter = Box::into_raw(Box::new(Counter { | 26 | 5 | senders: AtomicUsize::new(1), | 27 | 5 | receivers: AtomicUsize::new(1), | 28 | 5 | destroy: AtomicBool::new(false), | 29 | 5 | chan, | 30 | 5 | })); | 31 | 5 | let s = Sender { counter }; | 32 | 5 | let r = Receiver { counter }; | 33 | 5 | (s, r) | 34 | 5 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i32>> Line | Count | Source | 24 | 10.0k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 10.0k | let counter = Box::into_raw(Box::new(Counter { | 26 | 10.0k | senders: AtomicUsize::new(1), | 27 | 10.0k | receivers: AtomicUsize::new(1), | 28 | 10.0k | destroy: AtomicBool::new(false), | 29 | 10.0k | chan, | 30 | 10.0k | })); | 31 | 10.0k | let s = Sender { counter }; | 32 | 10.0k | let r = Receiver { counter }; | 33 | 10.0k | (s, r) | 34 | 10.0k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<()>> Line | Count | Source | 24 | 6 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 6 | let counter = Box::into_raw(Box::new(Counter { | 26 | 6 | senders: AtomicUsize::new(1), | 27 | 6 | receivers: AtomicUsize::new(1), | 28 | 6 | destroy: AtomicBool::new(false), | 29 | 6 | chan, | 30 | 6 | })); | 31 | 6 | let s = Sender { counter }; | 32 | 6 | let r = Receiver { counter }; | 33 | 6 | (s, r) | 34 | 6 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 23 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 23 | let counter = Box::into_raw(Box::new(Counter { | 26 | 23 | senders: AtomicUsize::new(1), | 27 | 23 | receivers: AtomicUsize::new(1), | 28 | 23 | destroy: AtomicBool::new(false), | 29 | 23 | chan, | 30 | 23 | })); | 31 | 23 | let s = Sender { counter }; | 32 | 23 | let r = Receiver { counter }; | 33 | 23 | (s, r) | 34 | 23 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<()>> Line | Count | Source | 24 | 29 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 29 | let counter = Box::into_raw(Box::new(Counter { | 26 | 29 | senders: AtomicUsize::new(1), | 27 | 29 | receivers: AtomicUsize::new(1), | 28 | 29 | destroy: AtomicBool::new(false), | 29 | 29 | chan, | 30 | 29 | })); | 31 | 29 | let s = Sender { counter }; | 32 | 29 | let r = Receiver { counter }; | 33 | 29 | (s, r) | 34 | 29 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<()>> Line | Count | Source | 24 | 6 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 6 | let counter = Box::into_raw(Box::new(Counter { | 26 | 6 | senders: AtomicUsize::new(1), | 27 | 6 | receivers: AtomicUsize::new(1), | 28 | 6 | destroy: AtomicBool::new(false), | 29 | 6 | chan, | 30 | 6 | })); | 31 | 6 | let s = Sender { counter }; | 32 | 6 | let r = Receiver { counter }; | 33 | 6 | (s, r) | 34 | 6 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<i32>> Line | Count | Source | 24 | 47 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 47 | let counter = Box::into_raw(Box::new(Counter { | 26 | 47 | senders: AtomicUsize::new(1), | 27 | 47 | receivers: AtomicUsize::new(1), | 28 | 47 | destroy: AtomicBool::new(false), | 29 | 47 | chan, | 30 | 47 | })); | 31 | 47 | let s = Sender { counter }; | 32 | 47 | let r = Receiver { counter }; | 33 | 47 | (s, r) | 34 | 47 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 1.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 1.00k | senders: AtomicUsize::new(1), | 27 | 1.00k | receivers: AtomicUsize::new(1), | 28 | 1.00k | destroy: AtomicBool::new(false), | 29 | 1.00k | chan, | 30 | 1.00k | })); | 31 | 1.00k | let s = Sender { counter }; | 32 | 1.00k | let r = Receiver { counter }; | 33 | 1.00k | (s, r) | 34 | 1.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<()>> Line | Count | Source | 24 | 9 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 9 | let counter = Box::into_raw(Box::new(Counter { | 26 | 9 | senders: AtomicUsize::new(1), | 27 | 9 | receivers: AtomicUsize::new(1), | 28 | 9 | destroy: AtomicBool::new(false), | 29 | 9 | chan, | 30 | 9 | })); | 31 | 9 | let s = Sender { counter }; | 32 | 9 | let r = Receiver { counter }; | 33 | 9 | (s, r) | 34 | 9 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<usize>> Line | Count | Source | 24 | 10 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 10 | let counter = Box::into_raw(Box::new(Counter { | 26 | 10 | senders: AtomicUsize::new(1), | 27 | 10 | receivers: AtomicUsize::new(1), | 28 | 10 | destroy: AtomicBool::new(false), | 29 | 10 | chan, | 30 | 10 | })); | 31 | 10 | let s = Sender { counter }; | 32 | 10 | let r = Receiver { counter }; | 33 | 10 | (s, r) | 34 | 10 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<usize>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<usize>> Line | Count | Source | 24 | 3 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 3 | let counter = Box::into_raw(Box::new(Counter { | 26 | 3 | senders: AtomicUsize::new(1), | 27 | 3 | receivers: AtomicUsize::new(1), | 28 | 3 | destroy: AtomicBool::new(false), | 29 | 3 | chan, | 30 | 3 | })); | 31 | 3 | let s = Sender { counter }; | 32 | 3 | let r = Receiver { counter }; | 33 | 3 | (s, r) | 34 | 3 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 2.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 2.00k | senders: AtomicUsize::new(1), | 27 | 2.00k | receivers: AtomicUsize::new(1), | 28 | 2.00k | destroy: AtomicBool::new(false), | 29 | 2.00k | chan, | 30 | 2.00k | })); | 31 | 2.00k | let s = Sender { counter }; | 32 | 2.00k | let r = Receiver { counter }; | 33 | 2.00k | (s, r) | 34 | 2.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i32>> Line | Count | Source | 24 | 4 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 4 | let counter = Box::into_raw(Box::new(Counter { | 26 | 4 | senders: AtomicUsize::new(1), | 27 | 4 | receivers: AtomicUsize::new(1), | 28 | 4 | destroy: AtomicBool::new(false), | 29 | 4 | chan, | 30 | 4 | })); | 31 | 4 | let s = Sender { counter }; | 32 | 4 | let r = Receiver { counter }; | 33 | 4 | (s, r) | 34 | 4 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i32>> Line | Count | Source | 24 | 12 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 12 | let counter = Box::into_raw(Box::new(Counter { | 26 | 12 | senders: AtomicUsize::new(1), | 27 | 12 | receivers: AtomicUsize::new(1), | 28 | 12 | destroy: AtomicBool::new(false), | 29 | 12 | chan, | 30 | 12 | })); | 31 | 12 | let s = Sender { counter }; | 32 | 12 | let r = Receiver { counter }; | 33 | 12 | (s, r) | 34 | 12 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<i32>>> Line | Count | Source | 24 | 5 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5 | let counter = Box::into_raw(Box::new(Counter { | 26 | 5 | senders: AtomicUsize::new(1), | 27 | 5 | receivers: AtomicUsize::new(1), | 28 | 5 | destroy: AtomicBool::new(false), | 29 | 5 | chan, | 30 | 5 | })); | 31 | 5 | let s = Sender { counter }; | 32 | 5 | let r = Receiver { counter }; | 33 | 5 | (s, r) | 34 | 5 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<i32>>> Line | Count | Source | 24 | 5 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5 | let counter = Box::into_raw(Box::new(Counter { | 26 | 5 | senders: AtomicUsize::new(1), | 27 | 5 | receivers: AtomicUsize::new(1), | 28 | 5 | destroy: AtomicBool::new(false), | 29 | 5 | chan, | 30 | 5 | })); | 31 | 5 | let s = Sender { counter }; | 32 | 5 | let r = Receiver { counter }; | 33 | 5 | (s, r) | 34 | 5 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<i32>> Line | Count | Source | 24 | 31 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 31 | let counter = Box::into_raw(Box::new(Counter { | 26 | 31 | senders: AtomicUsize::new(1), | 27 | 31 | receivers: AtomicUsize::new(1), | 28 | 31 | destroy: AtomicBool::new(false), | 29 | 31 | chan, | 30 | 31 | })); | 31 | 31 | let s = Sender { counter }; | 32 | 31 | let r = Receiver { counter }; | 33 | 31 | (s, r) | 34 | 31 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<isize>>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<i32>>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<()>> Line | Count | Source | 24 | 35 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 35 | let counter = Box::into_raw(Box::new(Counter { | 26 | 35 | senders: AtomicUsize::new(1), | 27 | 35 | receivers: AtomicUsize::new(1), | 28 | 35 | destroy: AtomicBool::new(false), | 29 | 35 | chan, | 30 | 35 | })); | 31 | 35 | let s = Sender { counter }; | 32 | 35 | let r = Receiver { counter }; | 33 | 35 | (s, r) | 34 | 35 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 59 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 59 | let counter = Box::into_raw(Box::new(Counter { | 26 | 59 | senders: AtomicUsize::new(1), | 27 | 59 | receivers: AtomicUsize::new(1), | 28 | 59 | destroy: AtomicBool::new(false), | 29 | 59 | chan, | 30 | 59 | })); | 31 | 59 | let s = Sender { counter }; | 32 | 59 | let r = Receiver { counter }; | 33 | 59 | (s, r) | 34 | 59 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<()>> Line | Count | Source | 24 | 203 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 203 | let counter = Box::into_raw(Box::new(Counter { | 26 | 203 | senders: AtomicUsize::new(1), | 27 | 203 | receivers: AtomicUsize::new(1), | 28 | 203 | destroy: AtomicBool::new(false), | 29 | 203 | chan, | 30 | 203 | })); | 31 | 203 | let s = Sender { counter }; | 32 | 203 | let r = Receiver { counter }; | 33 | 203 | (s, r) | 34 | 203 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<usize>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<()>> Line | Count | Source | 24 | 6 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 6 | let counter = Box::into_raw(Box::new(Counter { | 26 | 6 | senders: AtomicUsize::new(1), | 27 | 6 | receivers: AtomicUsize::new(1), | 28 | 6 | destroy: AtomicBool::new(false), | 29 | 6 | chan, | 30 | 6 | })); | 31 | 6 | let s = Sender { counter }; | 32 | 6 | let r = Receiver { counter }; | 33 | 6 | (s, r) | 34 | 6 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<array::drops::DropCounter>> Line | Count | Source | 24 | 100 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 100 | let counter = Box::into_raw(Box::new(Counter { | 26 | 100 | senders: AtomicUsize::new(1), | 27 | 100 | receivers: AtomicUsize::new(1), | 28 | 100 | destroy: AtomicBool::new(false), | 29 | 100 | chan, | 30 | 100 | })); | 31 | 100 | let s = Sender { counter }; | 32 | 100 | let r = Receiver { counter }; | 33 | 100 | (s, r) | 34 | 100 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 1.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 1.00k | senders: AtomicUsize::new(1), | 27 | 1.00k | receivers: AtomicUsize::new(1), | 28 | 1.00k | destroy: AtomicBool::new(false), | 29 | 1.00k | chan, | 30 | 1.00k | })); | 31 | 1.00k | let s = Sender { counter }; | 32 | 1.00k | let r = Receiver { counter }; | 33 | 1.00k | (s, r) | 34 | 1.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i32>> Line | Count | Source | 24 | 10.0k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 10.0k | let counter = Box::into_raw(Box::new(Counter { | 26 | 10.0k | senders: AtomicUsize::new(1), | 27 | 10.0k | receivers: AtomicUsize::new(1), | 28 | 10.0k | destroy: AtomicBool::new(false), | 29 | 10.0k | chan, | 30 | 10.0k | })); | 31 | 10.0k | let s = Sender { counter }; | 32 | 10.0k | let r = Receiver { counter }; | 33 | 10.0k | (s, r) | 34 | 10.0k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<()>> Line | Count | Source | 24 | 15 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 15 | let counter = Box::into_raw(Box::new(Counter { | 26 | 15 | senders: AtomicUsize::new(1), | 27 | 15 | receivers: AtomicUsize::new(1), | 28 | 15 | destroy: AtomicBool::new(false), | 29 | 15 | chan, | 30 | 15 | })); | 31 | 15 | let s = Sender { counter }; | 32 | 15 | let r = Receiver { counter }; | 33 | 15 | (s, r) | 34 | 15 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<usize>> Line | Count | Source | 24 | 5 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5 | let counter = Box::into_raw(Box::new(Counter { | 26 | 5 | senders: AtomicUsize::new(1), | 27 | 5 | receivers: AtomicUsize::new(1), | 28 | 5 | destroy: AtomicBool::new(false), | 29 | 5 | chan, | 30 | 5 | })); | 31 | 5 | let s = Sender { counter }; | 32 | 5 | let r = Receiver { counter }; | 33 | 5 | (s, r) | 34 | 5 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<()>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 5 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5 | let counter = Box::into_raw(Box::new(Counter { | 26 | 5 | senders: AtomicUsize::new(1), | 27 | 5 | receivers: AtomicUsize::new(1), | 28 | 5 | destroy: AtomicBool::new(false), | 29 | 5 | chan, | 30 | 5 | })); | 31 | 5 | let s = Sender { counter }; | 32 | 5 | let r = Receiver { counter }; | 33 | 5 | (s, r) | 34 | 5 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<usize>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<usize>> Line | Count | Source | 24 | 3 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 3 | let counter = Box::into_raw(Box::new(Counter { | 26 | 3 | senders: AtomicUsize::new(1), | 27 | 3 | receivers: AtomicUsize::new(1), | 28 | 3 | destroy: AtomicBool::new(false), | 29 | 3 | chan, | 30 | 3 | })); | 31 | 3 | let s = Sender { counter }; | 32 | 3 | let r = Receiver { counter }; | 33 | 3 | (s, r) | 34 | 3 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<usize>> Line | Count | Source | 24 | 3 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 3 | let counter = Box::into_raw(Box::new(Counter { | 26 | 3 | senders: AtomicUsize::new(1), | 27 | 3 | receivers: AtomicUsize::new(1), | 28 | 3 | destroy: AtomicBool::new(false), | 29 | 3 | chan, | 30 | 3 | })); | 31 | 3 | let s = Sender { counter }; | 32 | 3 | let r = Receiver { counter }; | 33 | 3 | (s, r) | 34 | 3 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i32>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<list::drops::DropCounter>> Line | Count | Source | 24 | 100 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 100 | let counter = Box::into_raw(Box::new(Counter { | 26 | 100 | senders: AtomicUsize::new(1), | 27 | 100 | receivers: AtomicUsize::new(1), | 28 | 100 | destroy: AtomicBool::new(false), | 29 | 100 | chan, | 30 | 100 | })); | 31 | 100 | let s = Sender { counter }; | 32 | 100 | let r = Receiver { counter }; | 33 | 100 | (s, r) | 34 | 100 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 10.0k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 10.0k | let counter = Box::into_raw(Box::new(Counter { | 26 | 10.0k | senders: AtomicUsize::new(1), | 27 | 10.0k | receivers: AtomicUsize::new(1), | 28 | 10.0k | destroy: AtomicBool::new(false), | 29 | 10.0k | chan, | 30 | 10.0k | })); | 31 | 10.0k | let s = Sender { counter }; | 32 | 10.0k | let r = Receiver { counter }; | 33 | 10.0k | (s, r) | 34 | 10.0k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<()>> Line | Count | Source | 24 | 5 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5 | let counter = Box::into_raw(Box::new(Counter { | 26 | 5 | senders: AtomicUsize::new(1), | 27 | 5 | receivers: AtomicUsize::new(1), | 28 | 5 | destroy: AtomicBool::new(false), | 29 | 5 | chan, | 30 | 5 | })); | 31 | 5 | let s = Sender { counter }; | 32 | 5 | let r = Receiver { counter }; | 33 | 5 | (s, r) | 34 | 5 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<usize>> Line | Count | Source | 24 | 5 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5 | let counter = Box::into_raw(Box::new(Counter { | 26 | 5 | senders: AtomicUsize::new(1), | 27 | 5 | receivers: AtomicUsize::new(1), | 28 | 5 | destroy: AtomicBool::new(false), | 29 | 5 | chan, | 30 | 5 | })); | 31 | 5 | let s = Sender { counter }; | 32 | 5 | let r = Receiver { counter }; | 33 | 5 | (s, r) | 34 | 5 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 1.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 1.00k | senders: AtomicUsize::new(1), | 27 | 1.00k | receivers: AtomicUsize::new(1), | 28 | 1.00k | destroy: AtomicBool::new(false), | 29 | 1.00k | chan, | 30 | 1.00k | })); | 31 | 1.00k | let s = Sender { counter }; | 32 | 1.00k | let r = Receiver { counter }; | 33 | 1.00k | (s, r) | 34 | 1.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<alloc::string::String>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<i32>> Line | Count | Source | 24 | 1.13k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1.13k | let counter = Box::into_raw(Box::new(Counter { | 26 | 1.13k | senders: AtomicUsize::new(1), | 27 | 1.13k | receivers: AtomicUsize::new(1), | 28 | 1.13k | destroy: AtomicBool::new(false), | 29 | 1.13k | chan, | 30 | 1.13k | })); | 31 | 1.13k | let s = Sender { counter }; | 32 | 1.13k | let r = Receiver { counter }; | 33 | 1.13k | (s, r) | 34 | 1.13k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<u8>> Line | Count | Source | 24 | 4 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 4 | let counter = Box::into_raw(Box::new(Counter { | 26 | 4 | senders: AtomicUsize::new(1), | 27 | 4 | receivers: AtomicUsize::new(1), | 28 | 4 | destroy: AtomicBool::new(false), | 29 | 4 | chan, | 30 | 4 | })); | 31 | 4 | let s = Sender { counter }; | 32 | 4 | let r = Receiver { counter }; | 33 | 4 | (s, r) | 34 | 4 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i64>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<golang::zerosize::zero_size_struct::ZeroSize>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<u8>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<bool>> Line | Count | Source | 24 | 3 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 3 | let counter = Box::into_raw(Box::new(Counter { | 26 | 3 | senders: AtomicUsize::new(1), | 27 | 3 | receivers: AtomicUsize::new(1), | 28 | 3 | destroy: AtomicBool::new(false), | 29 | 3 | chan, | 30 | 3 | })); | 31 | 3 | let s = Sender { counter }; | 32 | 3 | let r = Receiver { counter }; | 33 | 3 | (s, r) | 34 | 3 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<bool>> Line | Count | Source | 24 | 306 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 306 | let counter = Box::into_raw(Box::new(Counter { | 26 | 306 | senders: AtomicUsize::new(1), | 27 | 306 | receivers: AtomicUsize::new(1), | 28 | 306 | destroy: AtomicBool::new(false), | 29 | 306 | chan, | 30 | 306 | })); | 31 | 306 | let s = Sender { counter }; | 32 | 306 | let r = Receiver { counter }; | 33 | 306 | (s, r) | 34 | 306 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<u32>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::string::String>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<u32>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<usize>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i32>> Line | Count | Source | 24 | 5.14k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 5.14k | let counter = Box::into_raw(Box::new(Counter { | 26 | 5.14k | senders: AtomicUsize::new(1), | 27 | 5.14k | receivers: AtomicUsize::new(1), | 28 | 5.14k | destroy: AtomicBool::new(false), | 29 | 5.14k | chan, | 30 | 5.14k | })); | 31 | 5.14k | let s = Sender { counter }; | 32 | 5.14k | let r = Receiver { counter }; | 33 | 5.14k | (s, r) | 34 | 5.14k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<[u8; 0]>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<i64>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any>>> Line | Count | Source | 24 | 1 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1 | let counter = Box::into_raw(Box::new(Counter { | 26 | 1 | senders: AtomicUsize::new(1), | 27 | 1 | receivers: AtomicUsize::new(1), | 28 | 1 | destroy: AtomicBool::new(false), | 29 | 1 | chan, | 30 | 1 | })); | 31 | 1 | let s = Sender { counter }; | 32 | 1 | let r = Receiver { counter }; | 33 | 1 | (s, r) | 34 | 1 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<()>> Line | Count | Source | 24 | 32 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 32 | let counter = Box::into_raw(Box::new(Counter { | 26 | 32 | senders: AtomicUsize::new(1), | 27 | 32 | receivers: AtomicUsize::new(1), | 28 | 32 | destroy: AtomicBool::new(false), | 29 | 32 | chan, | 30 | 32 | })); | 31 | 32 | let s = Sender { counter }; | 32 | 32 | let r = Receiver { counter }; | 33 | 32 | (s, r) | 34 | 32 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<usize>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<usize>> Line | Count | Source | 24 | 3 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 3 | let counter = Box::into_raw(Box::new(Counter { | 26 | 3 | senders: AtomicUsize::new(1), | 27 | 3 | receivers: AtomicUsize::new(1), | 28 | 3 | destroy: AtomicBool::new(false), | 29 | 3 | chan, | 30 | 3 | })); | 31 | 3 | let s = Sender { counter }; | 32 | 3 | let r = Receiver { counter }; | 33 | 3 | (s, r) | 34 | 3 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<i32>> Line | Count | Source | 24 | 56 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 56 | let counter = Box::into_raw(Box::new(Counter { | 26 | 56 | senders: AtomicUsize::new(1), | 27 | 56 | receivers: AtomicUsize::new(1), | 28 | 56 | destroy: AtomicBool::new(false), | 29 | 56 | chan, | 30 | 56 | })); | 31 | 56 | let s = Sender { counter }; | 32 | 56 | let r = Receiver { counter }; | 33 | 56 | (s, r) | 34 | 56 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<i32>> Line | Count | Source | 24 | 4 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 4 | let counter = Box::into_raw(Box::new(Counter { | 26 | 4 | senders: AtomicUsize::new(1), | 27 | 4 | receivers: AtomicUsize::new(1), | 28 | 4 | destroy: AtomicBool::new(false), | 29 | 4 | chan, | 30 | 4 | })); | 31 | 4 | let s = Sender { counter }; | 32 | 4 | let r = Receiver { counter }; | 33 | 4 | (s, r) | 34 | 4 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<()>> Line | Count | Source | 24 | 7 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 7 | let counter = Box::into_raw(Box::new(Counter { | 26 | 7 | senders: AtomicUsize::new(1), | 27 | 7 | receivers: AtomicUsize::new(1), | 28 | 7 | destroy: AtomicBool::new(false), | 29 | 7 | chan, | 30 | 7 | })); | 31 | 7 | let s = Sender { counter }; | 32 | 7 | let r = Receiver { counter }; | 33 | 7 | (s, r) | 34 | 7 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 32 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 32 | let counter = Box::into_raw(Box::new(Counter { | 26 | 32 | senders: AtomicUsize::new(1), | 27 | 32 | receivers: AtomicUsize::new(1), | 28 | 32 | destroy: AtomicBool::new(false), | 29 | 32 | chan, | 30 | 32 | })); | 31 | 32 | let s = Sender { counter }; | 32 | 32 | let r = Receiver { counter }; | 33 | 32 | (s, r) | 34 | 32 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<()>> Line | Count | Source | 24 | 13 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 13 | let counter = Box::into_raw(Box::new(Counter { | 26 | 13 | senders: AtomicUsize::new(1), | 27 | 13 | receivers: AtomicUsize::new(1), | 28 | 13 | destroy: AtomicBool::new(false), | 29 | 13 | chan, | 30 | 13 | })); | 31 | 13 | let s = Sender { counter }; | 32 | 13 | let r = Receiver { counter }; | 33 | 13 | (s, r) | 34 | 13 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<usize>> Line | Count | Source | 24 | 6 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 6 | let counter = Box::into_raw(Box::new(Counter { | 26 | 6 | senders: AtomicUsize::new(1), | 27 | 6 | receivers: AtomicUsize::new(1), | 28 | 6 | destroy: AtomicBool::new(false), | 29 | 6 | chan, | 30 | 6 | })); | 31 | 6 | let s = Sender { counter }; | 32 | 6 | let r = Receiver { counter }; | 33 | 6 | (s, r) | 34 | 6 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 2.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 2.00k | senders: AtomicUsize::new(1), | 27 | 2.00k | receivers: AtomicUsize::new(1), | 28 | 2.00k | destroy: AtomicBool::new(false), | 29 | 2.00k | chan, | 30 | 2.00k | })); | 31 | 2.00k | let s = Sender { counter }; | 32 | 2.00k | let r = Receiver { counter }; | 33 | 2.00k | (s, r) | 34 | 2.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 1.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 1.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 1.00k | senders: AtomicUsize::new(1), | 27 | 1.00k | receivers: AtomicUsize::new(1), | 28 | 1.00k | destroy: AtomicBool::new(false), | 29 | 1.00k | chan, | 30 | 1.00k | })); | 31 | 1.00k | let s = Sender { counter }; | 32 | 1.00k | let r = Receiver { counter }; | 33 | 1.00k | (s, r) | 34 | 1.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<()>> Line | Count | Source | 24 | 9 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 9 | let counter = Box::into_raw(Box::new(Counter { | 26 | 9 | senders: AtomicUsize::new(1), | 27 | 9 | receivers: AtomicUsize::new(1), | 28 | 9 | destroy: AtomicBool::new(false), | 29 | 9 | chan, | 30 | 9 | })); | 31 | 9 | let s = Sender { counter }; | 32 | 9 | let r = Receiver { counter }; | 33 | 9 | (s, r) | 34 | 9 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<()>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> Line | Count | Source | 24 | 3.00k | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 3.00k | let counter = Box::into_raw(Box::new(Counter { | 26 | 3.00k | senders: AtomicUsize::new(1), | 27 | 3.00k | receivers: AtomicUsize::new(1), | 28 | 3.00k | destroy: AtomicBool::new(false), | 29 | 3.00k | chan, | 30 | 3.00k | })); | 31 | 3.00k | let s = Sender { counter }; | 32 | 3.00k | let r = Receiver { counter }; | 33 | 3.00k | (s, r) | 34 | 3.00k | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<usize>> Line | Count | Source | 24 | 3 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 3 | let counter = Box::into_raw(Box::new(Counter { | 26 | 3 | senders: AtomicUsize::new(1), | 27 | 3 | receivers: AtomicUsize::new(1), | 28 | 3 | destroy: AtomicBool::new(false), | 29 | 3 | chan, | 30 | 3 | })); | 31 | 3 | let s = Sender { counter }; | 32 | 3 | let r = Receiver { counter }; | 33 | 3 | (s, r) | 34 | 3 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<()>> Line | Count | Source | 24 | 4 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 4 | let counter = Box::into_raw(Box::new(Counter { | 26 | 4 | senders: AtomicUsize::new(1), | 27 | 4 | receivers: AtomicUsize::new(1), | 28 | 4 | destroy: AtomicBool::new(false), | 29 | 4 | chan, | 30 | 4 | })); | 31 | 4 | let s = Sender { counter }; | 32 | 4 | let r = Receiver { counter }; | 33 | 4 | (s, r) | 34 | 4 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<i32>> Line | Count | Source | 24 | 7 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 7 | let counter = Box::into_raw(Box::new(Counter { | 26 | 7 | senders: AtomicUsize::new(1), | 27 | 7 | receivers: AtomicUsize::new(1), | 28 | 7 | destroy: AtomicBool::new(false), | 29 | 7 | chan, | 30 | 7 | })); | 31 | 7 | let s = Sender { counter }; | 32 | 7 | let r = Receiver { counter }; | 33 | 7 | (s, r) | 34 | 7 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::list::Channel<i32>> Line | Count | Source | 24 | 16 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 16 | let counter = Box::into_raw(Box::new(Counter { | 26 | 16 | senders: AtomicUsize::new(1), | 27 | 16 | receivers: AtomicUsize::new(1), | 28 | 16 | destroy: AtomicBool::new(false), | 29 | 16 | chan, | 30 | 16 | })); | 31 | 16 | let s = Sender { counter }; | 32 | 16 | let r = Receiver { counter }; | 33 | 16 | (s, r) | 34 | 16 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::zero::Channel<usize>> Line | Count | Source | 24 | 4 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 4 | let counter = Box::into_raw(Box::new(Counter { | 26 | 4 | senders: AtomicUsize::new(1), | 27 | 4 | receivers: AtomicUsize::new(1), | 28 | 4 | destroy: AtomicBool::new(false), | 29 | 4 | chan, | 30 | 4 | })); | 31 | 4 | let s = Sender { counter }; | 32 | 4 | let r = Receiver { counter }; | 33 | 4 | (s, r) | 34 | 4 | } |
crossbeam_channel::counter::new::<crossbeam_channel::flavors::array::Channel<usize>> Line | Count | Source | 24 | 2 | pub(crate) fn new<C>(chan: C) -> (Sender<C>, Receiver<C>) { | 25 | 2 | let counter = Box::into_raw(Box::new(Counter { | 26 | 2 | senders: AtomicUsize::new(1), | 27 | 2 | receivers: AtomicUsize::new(1), | 28 | 2 | destroy: AtomicBool::new(false), | 29 | 2 | chan, | 30 | 2 | })); | 31 | 2 | let s = Sender { counter }; | 32 | 2 | let r = Receiver { counter }; | 33 | 2 | (s, r) | 34 | 2 | } |
|
35 | | |
36 | | /// The sending side. |
37 | | pub(crate) struct Sender<C> { |
38 | | counter: *mut Counter<C>, |
39 | | } |
40 | | |
41 | | impl<C> Sender<C> { |
42 | | /// Returns the internal `Counter`. |
43 | 28.6M | fn counter(&self) -> &Counter<C> { |
44 | 28.6M | unsafe { &*self.counter } |
45 | 28.6M | } <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 43 | 192k | fn counter(&self) -> &Counter<C> { | 44 | 192k | unsafe { &*self.counter } | 45 | 192k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 43 | 40.0k | fn counter(&self) -> &Counter<C> { | 44 | 40.0k | unsafe { &*self.counter } | 45 | 40.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 4.00k | fn counter(&self) -> &Counter<C> { | 44 | 4.00k | unsafe { &*self.counter } | 45 | 4.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<zero::drops::DropCounter>>>::counter Line | Count | Source | 43 | 155k | fn counter(&self) -> &Counter<C> { | 44 | 155k | unsafe { &*self.counter } | 45 | 155k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 43 | 248k | fn counter(&self) -> &Counter<C> { | 44 | 248k | unsafe { &*self.counter } | 45 | 248k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 43 | 46 | fn counter(&self) -> &Counter<C> { | 44 | 46 | unsafe { &*self.counter } | 45 | 46 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 396k | fn counter(&self) -> &Counter<C> { | 44 | 396k | unsafe { &*self.counter } | 45 | 396k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 43 | 805k | fn counter(&self) -> &Counter<C> { | 44 | 805k | unsafe { &*self.counter } | 45 | 805k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 43 | 77.9k | fn counter(&self) -> &Counter<C> { | 44 | 77.9k | unsafe { &*self.counter } | 45 | 77.9k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 43 | 5.25M | fn counter(&self) -> &Counter<C> { | 44 | 5.25M | unsafe { &*self.counter } | 45 | 5.25M | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 43 | 397k | fn counter(&self) -> &Counter<C> { | 44 | 397k | unsafe { &*self.counter } | 45 | 397k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 7.97k | fn counter(&self) -> &Counter<C> { | 44 | 7.97k | unsafe { &*self.counter } | 45 | 7.97k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 43 | 28.5k | fn counter(&self) -> &Counter<C> { | 44 | 28.5k | unsafe { &*self.counter } | 45 | 28.5k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 43 | 122k | fn counter(&self) -> &Counter<C> { | 44 | 122k | unsafe { &*self.counter } | 45 | 122k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>>>::counter Line | Count | Source | 43 | 16 | fn counter(&self) -> &Counter<C> { | 44 | 16 | unsafe { &*self.counter } | 45 | 16 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 43 | 21.8k | fn counter(&self) -> &Counter<C> { | 44 | 21.8k | unsafe { &*self.counter } | 45 | 21.8k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<isize>>>>::counter Line | Count | Source | 43 | 4 | fn counter(&self) -> &Counter<C> { | 44 | 4 | unsafe { &*self.counter } | 45 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 101k | fn counter(&self) -> &Counter<C> { | 44 | 101k | unsafe { &*self.counter } | 45 | 101k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 43 | 10.8k | fn counter(&self) -> &Counter<C> { | 44 | 10.8k | unsafe { &*self.counter } | 45 | 10.8k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<i32>>>>::counter Line | Count | Source | 43 | 28 | fn counter(&self) -> &Counter<C> { | 44 | 28 | unsafe { &*self.counter } | 45 | 28 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 43 | 54 | fn counter(&self) -> &Counter<C> { | 44 | 54 | unsafe { &*self.counter } | 45 | 54 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<i32>>>>::counter Line | Count | Source | 43 | 4 | fn counter(&self) -> &Counter<C> { | 44 | 4 | unsafe { &*self.counter } | 45 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<i32>>>>::counter Line | Count | Source | 43 | 28 | fn counter(&self) -> &Counter<C> { | 44 | 28 | unsafe { &*self.counter } | 45 | 28 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 43 | 34.9k | fn counter(&self) -> &Counter<C> { | 44 | 34.9k | unsafe { &*self.counter } | 45 | 34.9k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 43 | 327 | fn counter(&self) -> &Counter<C> { | 44 | 327 | unsafe { &*self.counter } | 45 | 327 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 43 | 410 | fn counter(&self) -> &Counter<C> { | 44 | 410 | unsafe { &*self.counter } | 45 | 410 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<array::drops::DropCounter>>>::counter Line | Count | Source | 43 | 493k | fn counter(&self) -> &Counter<C> { | 44 | 493k | unsafe { &*self.counter } | 45 | 493k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 4.00k | fn counter(&self) -> &Counter<C> { | 44 | 4.00k | unsafe { &*self.counter } | 45 | 4.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 43 | 344k | fn counter(&self) -> &Counter<C> { | 44 | 344k | unsafe { &*self.counter } | 45 | 344k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 43 | 139k | fn counter(&self) -> &Counter<C> { | 44 | 139k | unsafe { &*self.counter } | 45 | 139k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 43 | 128k | fn counter(&self) -> &Counter<C> { | 44 | 128k | unsafe { &*self.counter } | 45 | 128k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 43 | 51 | fn counter(&self) -> &Counter<C> { | 44 | 51 | unsafe { &*self.counter } | 45 | 51 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 36 | fn counter(&self) -> &Counter<C> { | 44 | 36 | unsafe { &*self.counter } | 45 | 36 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 5 | fn counter(&self) -> &Counter<C> { | 44 | 5 | unsafe { &*self.counter } | 45 | 5 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 43 | 8 | fn counter(&self) -> &Counter<C> { | 44 | 8 | unsafe { &*self.counter } | 45 | 8 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 43 | 11 | fn counter(&self) -> &Counter<C> { | 44 | 11 | unsafe { &*self.counter } | 45 | 11 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 43 | 11 | fn counter(&self) -> &Counter<C> { | 44 | 11 | unsafe { &*self.counter } | 45 | 11 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 43 | 5 | fn counter(&self) -> &Counter<C> { | 44 | 5 | unsafe { &*self.counter } | 45 | 5 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<list::drops::DropCounter>>>::counter Line | Count | Source | 43 | 523k | fn counter(&self) -> &Counter<C> { | 44 | 523k | unsafe { &*self.counter } | 45 | 523k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 4.00k | fn counter(&self) -> &Counter<C> { | 44 | 4.00k | unsafe { &*self.counter } | 45 | 4.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 43 | 282k | fn counter(&self) -> &Counter<C> { | 44 | 282k | unsafe { &*self.counter } | 45 | 282k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 142k | fn counter(&self) -> &Counter<C> { | 44 | 142k | unsafe { &*self.counter } | 45 | 142k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 43 | 128k | fn counter(&self) -> &Counter<C> { | 44 | 128k | unsafe { &*self.counter } | 45 | 128k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::string::String>>>::counter Line | Count | Source | 43 | 13 | fn counter(&self) -> &Counter<C> { | 44 | 13 | unsafe { &*self.counter } | 45 | 13 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 43 | 3.00k | fn counter(&self) -> &Counter<C> { | 44 | 3.00k | unsafe { &*self.counter } | 45 | 3.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u32>>>::counter Line | Count | Source | 43 | 20 | fn counter(&self) -> &Counter<C> { | 44 | 20 | unsafe { &*self.counter } | 45 | 20 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<bool>>>::counter Line | Count | Source | 43 | 1.90k | fn counter(&self) -> &Counter<C> { | 44 | 1.90k | unsafe { &*self.counter } | 45 | 1.90k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u32>>>::counter Line | Count | Source | 43 | 39 | fn counter(&self) -> &Counter<C> { | 44 | 39 | unsafe { &*self.counter } | 45 | 39 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 43 | 382k | fn counter(&self) -> &Counter<C> { | 44 | 382k | unsafe { &*self.counter } | 45 | 382k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i64>>>::counter Line | Count | Source | 43 | 10 | fn counter(&self) -> &Counter<C> { | 44 | 10 | unsafe { &*self.counter } | 45 | 10 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u8>>>::counter Line | Count | Source | 43 | 41.5k | fn counter(&self) -> &Counter<C> { | 44 | 41.5k | unsafe { &*self.counter } | 45 | 41.5k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<bool>>>::counter Line | Count | Source | 43 | 6.00k | fn counter(&self) -> &Counter<C> { | 44 | 6.00k | unsafe { &*self.counter } | 45 | 6.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<[u8; 0]>>>::counter Line | Count | Source | 43 | 3 | fn counter(&self) -> &Counter<C> { | 44 | 3 | unsafe { &*self.counter } | 45 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i64>>>::counter Line | Count | Source | 43 | 16 | fn counter(&self) -> &Counter<C> { | 44 | 16 | unsafe { &*self.counter } | 45 | 16 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 43 | 1.93M | fn counter(&self) -> &Counter<C> { | 44 | 1.93M | unsafe { &*self.counter } | 45 | 1.93M | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u8>>>::counter Line | Count | Source | 43 | 60.0k | fn counter(&self) -> &Counter<C> { | 44 | 60.0k | unsafe { &*self.counter } | 45 | 60.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::counter Line | Count | Source | 43 | 22 | fn counter(&self) -> &Counter<C> { | 44 | 22 | unsafe { &*self.counter } | 45 | 22 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::string::String>>>::counter Line | Count | Source | 43 | 10 | fn counter(&self) -> &Counter<C> { | 44 | 10 | unsafe { &*self.counter } | 45 | 10 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 600k | fn counter(&self) -> &Counter<C> { | 44 | 600k | unsafe { &*self.counter } | 45 | 600k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::counter Line | Count | Source | 43 | 3 | fn counter(&self) -> &Counter<C> { | 44 | 3 | unsafe { &*self.counter } | 45 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 43 | 806k | fn counter(&self) -> &Counter<C> { | 44 | 806k | unsafe { &*self.counter } | 45 | 806k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 396k | fn counter(&self) -> &Counter<C> { | 44 | 396k | unsafe { &*self.counter } | 45 | 396k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 43 | 45.9k | fn counter(&self) -> &Counter<C> { | 44 | 45.9k | unsafe { &*self.counter } | 45 | 45.9k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 43 | 96.3k | fn counter(&self) -> &Counter<C> { | 44 | 96.3k | unsafe { &*self.counter } | 45 | 96.3k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 6.48k | fn counter(&self) -> &Counter<C> { | 44 | 6.48k | unsafe { &*self.counter } | 45 | 6.48k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 43 | 13.0M | fn counter(&self) -> &Counter<C> { | 44 | 13.0M | unsafe { &*self.counter } | 45 | 13.0M | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 43 | 395k | fn counter(&self) -> &Counter<C> { | 44 | 395k | unsafe { &*self.counter } | 45 | 395k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 43 | 86.2k | fn counter(&self) -> &Counter<C> { | 44 | 86.2k | unsafe { &*self.counter } | 45 | 86.2k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 43 | 193k | fn counter(&self) -> &Counter<C> { | 44 | 193k | unsafe { &*self.counter } | 45 | 193k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 43 | 10.0k | fn counter(&self) -> &Counter<C> { | 44 | 10.0k | unsafe { &*self.counter } | 45 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 43 | 86.3k | fn counter(&self) -> &Counter<C> { | 44 | 86.3k | unsafe { &*self.counter } | 45 | 86.3k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 43 | 212k | fn counter(&self) -> &Counter<C> { | 44 | 212k | unsafe { &*self.counter } | 45 | 212k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 43 | 78 | fn counter(&self) -> &Counter<C> { | 44 | 78 | unsafe { &*self.counter } | 45 | 78 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 43 | 77 | fn counter(&self) -> &Counter<C> { | 44 | 77 | unsafe { &*self.counter } | 45 | 77 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 43 | 138k | fn counter(&self) -> &Counter<C> { | 44 | 138k | unsafe { &*self.counter } | 45 | 138k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 43 | 15.0k | fn counter(&self) -> &Counter<C> { | 44 | 15.0k | unsafe { &*self.counter } | 45 | 15.0k | } |
|
46 | | |
47 | | /// Acquires another sender reference. |
48 | 968k | pub(crate) fn acquire(&self) -> Sender<C> { |
49 | 968k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); |
50 | 968k | |
51 | 968k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the |
52 | 968k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we |
53 | 968k | // just abort when the count becomes very large. |
54 | 968k | if count > isize::MAX as usize { |
55 | 0 | process::abort(); |
56 | 968k | } |
57 | 968k | |
58 | 968k | Sender { |
59 | 968k | counter: self.counter, |
60 | 968k | } |
61 | 968k | } Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::acquire Line | Count | Source | 48 | 1 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1 | | 51 | 1 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1 | // just abort when the count becomes very large. | 54 | 1 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1 | } | 57 | 1 | | 58 | 1 | Sender { | 59 | 1 | counter: self.counter, | 60 | 1 | } | 61 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::acquire Line | Count | Source | 48 | 3 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 3 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 3 | | 51 | 3 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 3 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 3 | // just abort when the count becomes very large. | 54 | 3 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 3 | } | 57 | 3 | | 58 | 3 | Sender { | 59 | 3 | counter: self.counter, | 60 | 3 | } | 61 | 3 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<isize>>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::acquire Line | Count | Source | 48 | 115 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 115 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 115 | | 51 | 115 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 115 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 115 | // just abort when the count becomes very large. | 54 | 115 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 115 | } | 57 | 115 | | 58 | 115 | Sender { | 59 | 115 | counter: self.counter, | 60 | 115 | } | 61 | 115 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::acquire Line | Count | Source | 48 | 103 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 103 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 103 | | 51 | 103 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 103 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 103 | // just abort when the count becomes very large. | 54 | 103 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 103 | } | 57 | 103 | | 58 | 103 | Sender { | 59 | 103 | counter: self.counter, | 60 | 103 | } | 61 | 103 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::acquire Line | Count | Source | 48 | 13 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 13 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 13 | | 51 | 13 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 13 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 13 | // just abort when the count becomes very large. | 54 | 13 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 13 | } | 57 | 13 | | 58 | 13 | Sender { | 59 | 13 | counter: self.counter, | 60 | 13 | } | 61 | 13 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::acquire Line | Count | Source | 48 | 101 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 101 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 101 | | 51 | 101 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 101 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 101 | // just abort when the count becomes very large. | 54 | 101 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 101 | } | 57 | 101 | | 58 | 101 | Sender { | 59 | 101 | counter: self.counter, | 60 | 101 | } | 61 | 101 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::acquire Line | Count | Source | 48 | 1 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1 | | 51 | 1 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1 | // just abort when the count becomes very large. | 54 | 1 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1 | } | 57 | 1 | | 58 | 1 | Sender { | 59 | 1 | counter: self.counter, | 60 | 1 | } | 61 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>>>::acquire Line | Count | Source | 48 | 2 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 2 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 2 | | 51 | 2 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 2 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 2 | // just abort when the count becomes very large. | 54 | 2 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 2 | } | 57 | 2 | | 58 | 2 | Sender { | 59 | 2 | counter: self.counter, | 60 | 2 | } | 61 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::acquire Line | Count | Source | 48 | 19 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 19 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 19 | | 51 | 19 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 19 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 19 | // just abort when the count becomes very large. | 54 | 19 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 19 | } | 57 | 19 | | 58 | 19 | Sender { | 59 | 19 | counter: self.counter, | 60 | 19 | } | 61 | 19 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<isize>>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::acquire Line | Count | Source | 48 | 1 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1 | | 51 | 1 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1 | // just abort when the count becomes very large. | 54 | 1 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1 | } | 57 | 1 | | 58 | 1 | Sender { | 59 | 1 | counter: self.counter, | 60 | 1 | } | 61 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::acquire Line | Count | Source | 48 | 1 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1 | | 51 | 1 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1 | // just abort when the count becomes very large. | 54 | 1 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1 | } | 57 | 1 | | 58 | 1 | Sender { | 59 | 1 | counter: self.counter, | 60 | 1 | } | 61 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::acquire Line | Count | Source | 48 | 1 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1 | | 51 | 1 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1 | // just abort when the count becomes very large. | 54 | 1 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1 | } | 57 | 1 | | 58 | 1 | Sender { | 59 | 1 | counter: self.counter, | 60 | 1 | } | 61 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::string::String>>>::acquire Line | Count | Source | 48 | 2 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 2 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 2 | | 51 | 2 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 2 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 2 | // just abort when the count becomes very large. | 54 | 2 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 2 | } | 57 | 2 | | 58 | 2 | Sender { | 59 | 2 | counter: self.counter, | 60 | 2 | } | 61 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::string::String>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<bool>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::acquire Line | Count | Source | 48 | 4 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 4 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 4 | | 51 | 4 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 4 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 4 | // just abort when the count becomes very large. | 54 | 4 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 4 | } | 57 | 4 | | 58 | 4 | Sender { | 59 | 4 | counter: self.counter, | 60 | 4 | } | 61 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::string::String>>>::acquire Line | Count | Source | 48 | 2 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 2 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 2 | | 51 | 2 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 2 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 2 | // just abort when the count becomes very large. | 54 | 2 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 2 | } | 57 | 2 | | 58 | 2 | Sender { | 59 | 2 | counter: self.counter, | 60 | 2 | } | 61 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<bool>>>::acquire Line | Count | Source | 48 | 2.00k | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 2.00k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 2.00k | | 51 | 2.00k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 2.00k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 2.00k | // just abort when the count becomes very large. | 54 | 2.00k | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 2.00k | } | 57 | 2.00k | | 58 | 2.00k | Sender { | 59 | 2.00k | counter: self.counter, | 60 | 2.00k | } | 61 | 2.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::acquire Line | Count | Source | 48 | 1.00k | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1.00k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1.00k | | 51 | 1.00k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1.00k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1.00k | // just abort when the count becomes very large. | 54 | 1.00k | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1.00k | } | 57 | 1.00k | | 58 | 1.00k | Sender { | 59 | 1.00k | counter: self.counter, | 60 | 1.00k | } | 61 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::acquire Line | Count | Source | 48 | 71.2k | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 71.2k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 71.2k | | 51 | 71.2k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 71.2k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 71.2k | // just abort when the count becomes very large. | 54 | 71.2k | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 71.2k | } | 57 | 71.2k | | 58 | 71.2k | Sender { | 59 | 71.2k | counter: self.counter, | 60 | 71.2k | } | 61 | 71.2k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::acquire Line | Count | Source | 48 | 200k | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 200k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 200k | | 51 | 200k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 200k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 200k | // just abort when the count becomes very large. | 54 | 200k | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 200k | } | 57 | 200k | | 58 | 200k | Sender { | 59 | 200k | counter: self.counter, | 60 | 200k | } | 61 | 200k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<u8>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u32>>>::acquire Line | Count | Source | 48 | 4 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 4 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 4 | | 51 | 4 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 4 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 4 | // just abort when the count becomes very large. | 54 | 4 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 4 | } | 57 | 4 | | 58 | 4 | Sender { | 59 | 4 | counter: self.counter, | 60 | 4 | } | 61 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i64>>>::acquire Line | Count | Source | 48 | 3 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 3 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 3 | | 51 | 3 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 3 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 3 | // just abort when the count becomes very large. | 54 | 3 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 3 | } | 57 | 3 | | 58 | 3 | Sender { | 59 | 3 | counter: self.counter, | 60 | 3 | } | 61 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::acquire Line | Count | Source | 48 | 663k | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 663k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 663k | | 51 | 663k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 663k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 663k | // just abort when the count becomes very large. | 54 | 663k | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 663k | } | 57 | 663k | | 58 | 663k | Sender { | 59 | 663k | counter: self.counter, | 60 | 663k | } | 61 | 663k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u8>>>::acquire Line | Count | Source | 48 | 20.0k | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 20.0k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 20.0k | | 51 | 20.0k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 20.0k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 20.0k | // just abort when the count becomes very large. | 54 | 20.0k | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 20.0k | } | 57 | 20.0k | | 58 | 20.0k | Sender { | 59 | 20.0k | counter: self.counter, | 60 | 20.0k | } | 61 | 20.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i64>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<u32>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i64>>>::acquire Line | Count | Source | 48 | 2 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 2 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 2 | | 51 | 2 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 2 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 2 | // just abort when the count becomes very large. | 54 | 2 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 2 | } | 57 | 2 | | 58 | 2 | Sender { | 59 | 2 | counter: self.counter, | 60 | 2 | } | 61 | 2 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<bool>>>::acquire Line | Count | Source | 48 | 327 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 327 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 327 | | 51 | 327 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 327 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 327 | // just abort when the count becomes very large. | 54 | 327 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 327 | } | 57 | 327 | | 58 | 327 | Sender { | 59 | 327 | counter: self.counter, | 60 | 327 | } | 61 | 327 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u32>>>::acquire Line | Count | Source | 48 | 10 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 10 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 10 | | 51 | 10 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 10 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 10 | // just abort when the count becomes very large. | 54 | 10 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 10 | } | 57 | 10 | | 58 | 10 | Sender { | 59 | 10 | counter: self.counter, | 60 | 10 | } | 61 | 10 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u8>>>::acquire Line | Count | Source | 48 | 10.0k | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 10.0k | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 10.0k | | 51 | 10.0k | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 10.0k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 10.0k | // just abort when the count becomes very large. | 54 | 10.0k | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 10.0k | } | 57 | 10.0k | | 58 | 10.0k | Sender { | 59 | 10.0k | counter: self.counter, | 60 | 10.0k | } | 61 | 10.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::acquire Line | Count | Source | 48 | 1 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1 | | 51 | 1 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1 | // just abort when the count becomes very large. | 54 | 1 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1 | } | 57 | 1 | | 58 | 1 | Sender { | 59 | 1 | counter: self.counter, | 60 | 1 | } | 61 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::acquire Line | Count | Source | 48 | 3 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 3 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 3 | | 51 | 3 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 3 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 3 | // just abort when the count becomes very large. | 54 | 3 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 3 | } | 57 | 3 | | 58 | 3 | Sender { | 59 | 3 | counter: self.counter, | 60 | 3 | } | 61 | 3 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::acquire Line | Count | Source | 48 | 3 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 3 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 3 | | 51 | 3 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 3 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 3 | // just abort when the count becomes very large. | 54 | 3 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 3 | } | 57 | 3 | | 58 | 3 | Sender { | 59 | 3 | counter: self.counter, | 60 | 3 | } | 61 | 3 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::acquire <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::acquire Line | Count | Source | 48 | 1 | pub(crate) fn acquire(&self) -> Sender<C> { | 49 | 1 | let count = self.counter().senders.fetch_add(1, Ordering::Relaxed); | 50 | 1 | | 51 | 1 | // Cloning senders and calling `mem::forget` on the clones could potentially overflow the | 52 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 53 | 1 | // just abort when the count becomes very large. | 54 | 1 | if count > isize::MAX as usize { | 55 | 0 | process::abort(); | 56 | 1 | } | 57 | 1 | | 58 | 1 | Sender { | 59 | 1 | counter: self.counter, | 60 | 1 | } | 61 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::acquire |
62 | | |
63 | | /// Releases the sender reference. |
64 | | /// |
65 | | /// Function `disconnect` will be called if this is the last sender reference. |
66 | 1.01M | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { |
67 | 1.01M | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { |
68 | 49.6k | disconnect(&self.counter().chan); |
69 | 49.6k | |
70 | 49.6k | if self.counter().destroy.swap(true, Ordering::AcqRel) { |
71 | 34.5k | drop(Box::from_raw(self.counter)); |
72 | 34.5k | }15.0k |
73 | 966k | } |
74 | 1.01M | } Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 5 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 5 | disconnect(&self.counter().chan); | 69 | 5 | | 70 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | }1 | 73 | 0 | } | 74 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 8 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 8 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 8 | disconnect(&self.counter().chan); | 69 | 8 | | 70 | 8 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | } | 73 | 0 | } | 74 | 8 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<zero::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 100 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 100 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 100 | disconnect(&self.counter().chan); | 69 | 100 | | 70 | 100 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 100 | } | 73 | 0 | } | 74 | 100 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 8 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 8 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 8 | disconnect(&self.counter().chan); | 69 | 8 | | 70 | 8 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 6 | drop(Box::from_raw(self.counter)); | 72 | 6 | }2 | 73 | 0 | } | 74 | 8 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<zero::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 10.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 10.0k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 10.0k | disconnect(&self.counter().chan); | 69 | 10.0k | | 70 | 10.0k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 10.0k | drop(Box::from_raw(self.counter)); | 72 | 10.0k | }0 | 73 | 0 | } | 74 | 10.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1.00k | disconnect(&self.counter().chan); | 69 | 1.00k | | 70 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 492 | drop(Box::from_raw(self.counter)); | 72 | 509 | } | 73 | 0 | } | 74 | 1.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<zero::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 29 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 29 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 29 | disconnect(&self.counter().chan); | 69 | 29 | | 70 | 29 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 9 | drop(Box::from_raw(self.counter)); | 72 | 20 | } | 73 | 0 | } | 74 | 29 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1.00k | disconnect(&self.counter().chan); | 69 | 1.00k | | 70 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 1.00k | } | 73 | 0 | } | 74 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 10 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 10 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 10 | disconnect(&self.counter().chan); | 69 | 10 | | 70 | 10 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 6 | drop(Box::from_raw(self.counter)); | 72 | 6 | }4 | 73 | 0 | } | 74 | 10 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 4 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 4 | disconnect(&self.counter().chan); | 69 | 4 | | 70 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | }0 | 73 | 0 | } | 74 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3 | disconnect(&self.counter().chan); | 69 | 3 | | 70 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 3 | drop(Box::from_raw(self.counter)); | 72 | 3 | }0 | 73 | 0 | } | 74 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 47 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 47 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 47 | disconnect(&self.counter().chan); | 69 | 47 | | 70 | 47 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 47 | drop(Box::from_raw(self.counter)); | 72 | 47 | }0 | 73 | 0 | } | 74 | 47 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 6 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 6 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 6 | disconnect(&self.counter().chan); | 69 | 6 | | 70 | 6 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 6 | drop(Box::from_raw(self.counter)); | 72 | 6 | }0 | 73 | 0 | } | 74 | 6 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 24 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 24 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 23 | disconnect(&self.counter().chan); | 69 | 23 | | 70 | 23 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 17 | drop(Box::from_raw(self.counter)); | 72 | 17 | }6 | 73 | 1 | } | 74 | 24 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 2 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 2 | }0 | 73 | 0 | } | 74 | 2 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 2.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 2.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2.00k | disconnect(&self.counter().chan); | 69 | 2.00k | | 70 | 2.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 352 | drop(Box::from_raw(self.counter)); | 72 | 1.65k | } | 73 | 0 | } | 74 | 2.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 12 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 12 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 9 | disconnect(&self.counter().chan); | 69 | 9 | | 70 | 9 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 6 | drop(Box::from_raw(self.counter)); | 72 | 6 | }3 | 73 | 3 | } | 74 | 12 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 203 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 203 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 203 | disconnect(&self.counter().chan); | 69 | 203 | | 70 | 203 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 102 | drop(Box::from_raw(self.counter)); | 72 | 102 | }101 | 73 | 0 | } | 74 | 203 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 13 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 13 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 12 | disconnect(&self.counter().chan); | 69 | 12 | | 70 | 12 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 10 | drop(Box::from_raw(self.counter)); | 72 | 10 | }2 | 73 | 1 | } | 74 | 13 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<isize>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 1 | }0 | 73 | 0 | } | 74 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<i32>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 5 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 5 | disconnect(&self.counter().chan); | 69 | 5 | | 70 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 3 | } | 73 | 0 | } | 74 | 5 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 5 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3 | disconnect(&self.counter().chan); | 69 | 3 | | 70 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 2 | }1 | 73 | 2 | } | 74 | 5 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 72 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 72 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 59 | disconnect(&self.counter().chan); | 69 | 59 | | 70 | 59 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 28 | drop(Box::from_raw(self.counter)); | 72 | 31 | } | 73 | 13 | } | 74 | 72 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 109 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 109 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 6 | disconnect(&self.counter().chan); | 69 | 6 | | 70 | 6 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 4 | } | 73 | 103 | } | 74 | 109 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 150 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 150 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 35 | disconnect(&self.counter().chan); | 69 | 35 | | 70 | 35 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 22 | drop(Box::from_raw(self.counter)); | 72 | 22 | }13 | 73 | 115 | } | 74 | 150 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 103 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 103 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 2 | } | 73 | 101 | } | 74 | 103 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<i32>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 1 | }0 | 73 | 0 | } | 74 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<isize>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 51 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 51 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 32 | disconnect(&self.counter().chan); | 69 | 32 | | 70 | 32 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 13 | drop(Box::from_raw(self.counter)); | 72 | 19 | } | 73 | 19 | } | 74 | 51 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<i32>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 5 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 5 | disconnect(&self.counter().chan); | 69 | 5 | | 70 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 3 | drop(Box::from_raw(self.counter)); | 72 | 3 | }2 | 73 | 0 | } | 74 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<array::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1.00k | disconnect(&self.counter().chan); | 69 | 1.00k | | 70 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 607 | drop(Box::from_raw(self.counter)); | 72 | 607 | }394 | 73 | 0 | } | 74 | 1.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 18 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 18 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 18 | disconnect(&self.counter().chan); | 69 | 18 | | 70 | 18 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 16 | drop(Box::from_raw(self.counter)); | 72 | 16 | }2 | 73 | 0 | } | 74 | 18 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 5 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 5 | disconnect(&self.counter().chan); | 69 | 5 | | 70 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 5 | drop(Box::from_raw(self.counter)); | 72 | 5 | }0 | 73 | 0 | } | 74 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 10.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 10.0k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 10.0k | disconnect(&self.counter().chan); | 69 | 10.0k | | 70 | 10.0k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 10.0k | drop(Box::from_raw(self.counter)); | 72 | 10.0k | }4 | 73 | 0 | } | 74 | 10.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<array::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<array::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 100 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 100 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 100 | disconnect(&self.counter().chan); | 69 | 100 | | 70 | 100 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 100 | } | 73 | 0 | } | 74 | 100 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1 | } | 73 | 0 | } | 74 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 7 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 7 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 7 | disconnect(&self.counter().chan); | 69 | 7 | | 70 | 7 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 6 | } | 73 | 0 | } | 74 | 7 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 1 | }0 | 73 | 0 | } | 74 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 4 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3 | disconnect(&self.counter().chan); | 69 | 3 | | 70 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 3 | drop(Box::from_raw(self.counter)); | 72 | 3 | }0 | 73 | 1 | } | 74 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 4 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3 | disconnect(&self.counter().chan); | 69 | 3 | | 70 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 3 | drop(Box::from_raw(self.counter)); | 72 | 3 | }0 | 73 | 1 | } | 74 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 2 | }0 | 73 | 1 | } | 74 | 3 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 1 | }0 | 73 | 0 | } | 74 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<list::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 8 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 8 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 8 | disconnect(&self.counter().chan); | 69 | 8 | | 70 | 8 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 6 | drop(Box::from_raw(self.counter)); | 72 | 6 | }2 | 73 | 0 | } | 74 | 8 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 5 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 5 | disconnect(&self.counter().chan); | 69 | 5 | | 70 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | }1 | 73 | 0 | } | 74 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<list::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 100 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 100 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 100 | disconnect(&self.counter().chan); | 69 | 100 | | 70 | 100 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 100 | } | 73 | 0 | } | 74 | 100 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1.00k | disconnect(&self.counter().chan); | 69 | 1.00k | | 70 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 283 | drop(Box::from_raw(self.counter)); | 72 | 718 | } | 73 | 0 | } | 74 | 1.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<list::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Sender<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 10.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 10.0k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 10.0k | disconnect(&self.counter().chan); | 69 | 10.0k | | 70 | 10.0k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 10.0k | drop(Box::from_raw(self.counter)); | 72 | 10.0k | }4 | 73 | 0 | } | 74 | 10.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i64>>>::release::<<crossbeam_channel::channel::Sender<i64> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<bool>>>::release::<<crossbeam_channel::channel::Sender<bool> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 2.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 2.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3 | disconnect(&self.counter().chan); | 69 | 3 | | 70 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 3 | } | 73 | 2.00k | } | 74 | 2.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 665k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 665k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 5.11k | disconnect(&self.counter().chan); | 69 | 5.11k | | 70 | 5.11k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 5.11k | } | 73 | 660k | } | 74 | 665k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 5 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 1 | }0 | 73 | 4 | } | 74 | 5 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i64>>>::release::<<crossbeam_channel::channel::Sender<i64> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 4 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1 | } | 73 | 3 | } | 74 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u32>>>::release::<<crossbeam_channel::channel::Sender<u32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 12 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 12 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 2 | } | 73 | 10 | } | 74 | 12 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::string::String>>>::release::<<crossbeam_channel::channel::Sender<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 73.2k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 73.2k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1.13k | disconnect(&self.counter().chan); | 69 | 1.13k | | 70 | 1.13k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1.13k | } | 73 | 72.1k | } | 74 | 73.2k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::string::String>>>::release::<<crossbeam_channel::channel::Sender<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1 | } | 73 | 2 | } | 74 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i64>>>::release::<<crossbeam_channel::channel::Sender<i64> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1 | } | 73 | 2 | } | 74 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u32>>>::release::<<crossbeam_channel::channel::Sender<u32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 6 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 6 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 2 | } | 73 | 4 | } | 74 | 6 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<u32>>>::release::<<crossbeam_channel::channel::Sender<u32> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 200k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 200k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 2 | } | 73 | 200k | } | 74 | 200k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::string::String>>>::release::<<crossbeam_channel::channel::Sender<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1 | } | 73 | 2 | } | 74 | 3 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<u8>>>::release::<<crossbeam_channel::channel::Sender<u8> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<[u8; 0]>>>::release::<<crossbeam_channel::channel::Sender<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u8>>>::release::<<crossbeam_channel::channel::Sender<u8> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 10.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 10.0k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 4 | disconnect(&self.counter().chan); | 69 | 4 | | 70 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 4 | } | 73 | 10.0k | } | 74 | 10.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<[u8; 0]>>>::release::<<crossbeam_channel::channel::Sender<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::release::<<crossbeam_channel::channel::Sender<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<[u8; 0]>>>::release::<<crossbeam_channel::channel::Sender<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1 | } | 73 | 0 | } | 74 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::release::<<crossbeam_channel::channel::Sender<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u8>>>::release::<<crossbeam_channel::channel::Sender<u8> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 20.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 20.0k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 2 | } | 73 | 20.0k | } | 74 | 20.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<bool>>>::release::<<crossbeam_channel::channel::Sender<bool> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::release::<<crossbeam_channel::channel::Sender<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1 | disconnect(&self.counter().chan); | 69 | 1 | | 70 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 1 | } | 73 | 0 | } | 74 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 0 | disconnect(&self.counter().chan); | 69 | 0 |
| 70 | 0 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 0 | } | 73 | 1.00k | } | 74 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<bool>>>::release::<<crossbeam_channel::channel::Sender<bool> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 633 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 633 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 306 | disconnect(&self.counter().chan); | 69 | 306 | | 70 | 306 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 0 | drop(Box::from_raw(self.counter)); | 72 | 306 | } | 73 | 327 | } | 74 | 633 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 2 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 2 | }0 | 73 | 0 | } | 74 | 2 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 7 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 7 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 7 | disconnect(&self.counter().chan); | 69 | 7 | | 70 | 7 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 7 | drop(Box::from_raw(self.counter)); | 72 | 7 | }0 | 73 | 0 | } | 74 | 7 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 2.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 2.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2.00k | disconnect(&self.counter().chan); | 69 | 2.00k | | 70 | 2.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1.38k | drop(Box::from_raw(self.counter)); | 72 | 1.38k | }620 | 73 | 0 | } | 74 | 2.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 4 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 4 | disconnect(&self.counter().chan); | 69 | 4 | | 70 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | }0 | 73 | 0 | } | 74 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 57 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 57 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 57 | disconnect(&self.counter().chan); | 69 | 57 | | 70 | 57 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 52 | drop(Box::from_raw(self.counter)); | 72 | 52 | }5 | 73 | 0 | } | 74 | 57 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 16 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 16 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 13 | disconnect(&self.counter().chan); | 69 | 13 | | 70 | 13 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 10 | drop(Box::from_raw(self.counter)); | 72 | 10 | }3 | 73 | 3 | } | 74 | 16 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 34 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 34 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 33 | disconnect(&self.counter().chan); | 69 | 33 | | 70 | 33 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 20 | drop(Box::from_raw(self.counter)); | 72 | 20 | }13 | 73 | 1 | } | 74 | 34 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 1.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 1.00k | disconnect(&self.counter().chan); | 69 | 1.00k | | 70 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 1 | drop(Box::from_raw(self.counter)); | 72 | 1.00k | } | 73 | 0 | } | 74 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 6 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 6 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 6 | disconnect(&self.counter().chan); | 69 | 6 | | 70 | 6 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | }2 | 73 | 0 | } | 74 | 6 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3 | disconnect(&self.counter().chan); | 69 | 3 | | 70 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 3 | drop(Box::from_raw(self.counter)); | 72 | 3 | }0 | 73 | 0 | } | 74 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 32 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 32 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 32 | disconnect(&self.counter().chan); | 69 | 32 | | 70 | 32 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 11 | drop(Box::from_raw(self.counter)); | 72 | 21 | } | 73 | 0 | } | 74 | 32 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 2 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 2 | }0 | 73 | 0 | } | 74 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 7 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 7 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 7 | disconnect(&self.counter().chan); | 69 | 7 | | 70 | 7 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 7 | drop(Box::from_raw(self.counter)); | 72 | 7 | }0 | 73 | 0 | } | 74 | 7 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 12 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 12 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 9 | disconnect(&self.counter().chan); | 69 | 9 | | 70 | 9 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 6 | drop(Box::from_raw(self.counter)); | 72 | 6 | }3 | 73 | 3 | } | 74 | 12 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 66 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 4 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 4 | disconnect(&self.counter().chan); | 69 | 4 | | 70 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | }0 | 73 | 0 | } | 74 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Sender<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 20 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 20 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 19 | disconnect(&self.counter().chan); | 69 | 19 | | 70 | 19 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 13 | drop(Box::from_raw(self.counter)); | 72 | 13 | }6 | 73 | 1 | } | 74 | 20 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Sender<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 2 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 2 | disconnect(&self.counter().chan); | 69 | 2 | | 70 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 2 | drop(Box::from_raw(self.counter)); | 72 | 2 | }0 | 73 | 0 | } | 74 | 2 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 66 | 3.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3.00k | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3.00k | disconnect(&self.counter().chan); | 69 | 3.00k | | 70 | 3.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 971 | drop(Box::from_raw(self.counter)); | 72 | 2.03k | } | 73 | 0 | } | 74 | 3.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 66 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 4 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 4 | disconnect(&self.counter().chan); | 69 | 4 | | 70 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 4 | drop(Box::from_raw(self.counter)); | 72 | 4 | }0 | 73 | 0 | } | 74 | 4 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Sender<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 66 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 67 | 3 | if self.counter().senders.fetch_sub(1, Ordering::AcqRel) == 1 { | 68 | 3 | disconnect(&self.counter().chan); | 69 | 3 | | 70 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 71 | 3 | drop(Box::from_raw(self.counter)); | 72 | 3 | }0 | 73 | 0 | } | 74 | 3 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Sender<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2}> |
75 | | } |
76 | | |
77 | | impl<C> ops::Deref for Sender<C> { |
78 | | type Target = C; |
79 | | |
80 | 26.7M | fn deref(&self) -> &C { |
81 | 26.7M | &self.counter().chan |
82 | 26.7M | } <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 1.00k | fn deref(&self) -> &C { | 81 | 1.00k | &self.counter().chan | 82 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<zero::drops::DropCounter>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 155k | fn deref(&self) -> &C { | 81 | 155k | &self.counter().chan | 82 | 155k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 248k | fn deref(&self) -> &C { | 81 | 248k | &self.counter().chan | 82 | 248k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.0k | fn deref(&self) -> &C { | 81 | 10.0k | &self.counter().chan | 82 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 22 | fn deref(&self) -> &C { | 81 | 22 | &self.counter().chan | 82 | 22 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 193k | fn deref(&self) -> &C { | 81 | 193k | &self.counter().chan | 82 | 193k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 4.97k | fn deref(&self) -> &C { | 81 | 4.97k | &self.counter().chan | 82 | 4.97k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 28.5k | fn deref(&self) -> &C { | 81 | 28.5k | &self.counter().chan | 82 | 28.5k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 122k | fn deref(&self) -> &C { | 81 | 122k | &self.counter().chan | 82 | 122k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.0k | fn deref(&self) -> &C { | 81 | 10.0k | &self.counter().chan | 82 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 396k | fn deref(&self) -> &C { | 81 | 396k | &self.counter().chan | 82 | 396k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 806k | fn deref(&self) -> &C { | 81 | 806k | &self.counter().chan | 82 | 806k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 78.0k | fn deref(&self) -> &C { | 81 | 78.0k | &self.counter().chan | 82 | 78.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 5.24M | fn deref(&self) -> &C { | 81 | 5.24M | &self.counter().chan | 82 | 5.24M | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.0k | fn deref(&self) -> &C { | 81 | 10.0k | &self.counter().chan | 82 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 4.00k | fn deref(&self) -> &C { | 81 | 4.00k | &self.counter().chan | 82 | 4.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 397k | fn deref(&self) -> &C { | 81 | 397k | &self.counter().chan | 82 | 397k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 101k | fn deref(&self) -> &C { | 81 | 101k | &self.counter().chan | 82 | 101k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.2k | fn deref(&self) -> &C { | 81 | 10.2k | &self.counter().chan | 82 | 10.2k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 202 | fn deref(&self) -> &C { | 81 | 202 | &self.counter().chan | 82 | 202 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 16 | fn deref(&self) -> &C { | 81 | 16 | &self.counter().chan | 82 | 16 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 3 | fn deref(&self) -> &C { | 81 | 3 | &self.counter().chan | 82 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<i32>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 13 | fn deref(&self) -> &C { | 81 | 13 | &self.counter().chan | 82 | 13 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 34.9k | fn deref(&self) -> &C { | 81 | 34.9k | &self.counter().chan | 82 | 34.9k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<isize>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 1 | fn deref(&self) -> &C { | 81 | 1 | &self.counter().chan | 82 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<i32>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 13 | fn deref(&self) -> &C { | 81 | 13 | &self.counter().chan | 82 | 13 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<i32>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 1 | fn deref(&self) -> &C { | 81 | 1 | &self.counter().chan | 82 | 1 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 21.5k | fn deref(&self) -> &C { | 81 | 21.5k | &self.counter().chan | 82 | 21.5k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 105 | fn deref(&self) -> &C { | 81 | 105 | &self.counter().chan | 82 | 105 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 109k | fn deref(&self) -> &C { | 81 | 109k | &self.counter().chan | 82 | 109k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 128k | fn deref(&self) -> &C { | 81 | 128k | &self.counter().chan | 82 | 128k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<array::drops::DropCounter>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 493k | fn deref(&self) -> &C { | 81 | 493k | &self.counter().chan | 82 | 493k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 1.00k | fn deref(&self) -> &C { | 81 | 1.00k | &self.counter().chan | 82 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 346k | fn deref(&self) -> &C { | 81 | 346k | &self.counter().chan | 82 | 346k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 48 | fn deref(&self) -> &C { | 81 | 48 | &self.counter().chan | 82 | 48 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 16 | fn deref(&self) -> &C { | 81 | 16 | &self.counter().chan | 82 | 16 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 2 | fn deref(&self) -> &C { | 81 | 2 | &self.counter().chan | 82 | 2 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 2 | fn deref(&self) -> &C { | 81 | 2 | &self.counter().chan | 82 | 2 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 284k | fn deref(&self) -> &C { | 81 | 284k | &self.counter().chan | 82 | 284k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 112k | fn deref(&self) -> &C { | 81 | 112k | &self.counter().chan | 82 | 112k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 128k | fn deref(&self) -> &C { | 81 | 128k | &self.counter().chan | 82 | 128k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<list::drops::DropCounter>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 523k | fn deref(&self) -> &C { | 81 | 523k | &self.counter().chan | 82 | 523k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 1.00k | fn deref(&self) -> &C { | 81 | 1.00k | &self.counter().chan | 82 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::string::String>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 3 | fn deref(&self) -> &C { | 81 | 3 | &self.counter().chan | 82 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 1.00k | fn deref(&self) -> &C { | 81 | 1.00k | &self.counter().chan | 82 | 1.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 200k | fn deref(&self) -> &C { | 81 | 200k | &self.counter().chan | 82 | 200k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 6 | fn deref(&self) -> &C { | 81 | 6 | &self.counter().chan | 82 | 6 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::string::String>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 6 | fn deref(&self) -> &C { | 81 | 6 | &self.counter().chan | 82 | 6 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i64>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 3 | fn deref(&self) -> &C { | 81 | 3 | &self.counter().chan | 82 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<bool>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 2.00k | fn deref(&self) -> &C { | 81 | 2.00k | &self.counter().chan | 82 | 2.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<bool>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 331 | fn deref(&self) -> &C { | 81 | 331 | &self.counter().chan | 82 | 331 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 13 | fn deref(&self) -> &C { | 81 | 13 | &self.counter().chan | 82 | 13 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 247k | fn deref(&self) -> &C { | 81 | 247k | &self.counter().chan | 82 | 247k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<u8>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 21.5k | fn deref(&self) -> &C { | 81 | 21.5k | &self.counter().chan | 82 | 21.5k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i64>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 7 | fn deref(&self) -> &C { | 81 | 7 | &self.counter().chan | 82 | 7 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 734k | fn deref(&self) -> &C { | 81 | 734k | &self.counter().chan | 82 | 734k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<u8>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 20.0k | fn deref(&self) -> &C { | 81 | 20.0k | &self.counter().chan | 82 | 20.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 11 | fn deref(&self) -> &C { | 81 | 11 | &self.counter().chan | 82 | 11 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.0k | fn deref(&self) -> &C { | 81 | 10.0k | &self.counter().chan | 82 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 13.0M | fn deref(&self) -> &C { | 81 | 13.0M | &self.counter().chan | 82 | 13.0M | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 396k | fn deref(&self) -> &C { | 81 | 396k | &self.counter().chan | 82 | 396k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 86.5k | fn deref(&self) -> &C { | 81 | 86.5k | &self.counter().chan | 82 | 86.5k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.0k | fn deref(&self) -> &C { | 81 | 10.0k | &self.counter().chan | 82 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 807k | fn deref(&self) -> &C { | 81 | 807k | &self.counter().chan | 82 | 807k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 396k | fn deref(&self) -> &C { | 81 | 396k | &self.counter().chan | 82 | 396k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 46.1k | fn deref(&self) -> &C { | 81 | 46.1k | &self.counter().chan | 82 | 46.1k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 3.47k | fn deref(&self) -> &C { | 81 | 3.47k | &self.counter().chan | 82 | 3.47k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 96.3k | fn deref(&self) -> &C { | 81 | 96.3k | &self.counter().chan | 82 | 96.3k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 4.00k | fn deref(&self) -> &C { | 81 | 4.00k | &self.counter().chan | 82 | 4.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 212k | fn deref(&self) -> &C { | 81 | 212k | &self.counter().chan | 82 | 212k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 23 | fn deref(&self) -> &C { | 81 | 23 | &self.counter().chan | 82 | 23 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 56 | fn deref(&self) -> &C { | 81 | 56 | &self.counter().chan | 82 | 56 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 138k | fn deref(&self) -> &C { | 81 | 138k | &self.counter().chan | 82 | 138k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 6.00k | fn deref(&self) -> &C { | 81 | 6.00k | &self.counter().chan | 82 | 6.00k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.0k | fn deref(&self) -> &C { | 81 | 10.0k | &self.counter().chan | 82 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 193k | fn deref(&self) -> &C { | 81 | 193k | &self.counter().chan | 82 | 193k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 10.0k | fn deref(&self) -> &C { | 81 | 10.0k | &self.counter().chan | 82 | 10.0k | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 80 | 86.4k | fn deref(&self) -> &C { | 81 | 86.4k | &self.counter().chan | 82 | 86.4k | } |
|
83 | | } |
84 | | |
85 | | impl<C> PartialEq for Sender<C> { |
86 | 9 | fn eq(&self, other: &Sender<C>) -> bool { |
87 | 9 | self.counter == other.counter |
88 | 9 | } <crossbeam_channel::counter::Sender<crossbeam_channel::flavors::list::Channel<usize>> as core::cmp::PartialEq>::eq Line | Count | Source | 86 | 3 | fn eq(&self, other: &Sender<C>) -> bool { | 87 | 3 | self.counter == other.counter | 88 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::zero::Channel<usize>> as core::cmp::PartialEq>::eq Line | Count | Source | 86 | 3 | fn eq(&self, other: &Sender<C>) -> bool { | 87 | 3 | self.counter == other.counter | 88 | 3 | } |
<crossbeam_channel::counter::Sender<crossbeam_channel::flavors::array::Channel<usize>> as core::cmp::PartialEq>::eq Line | Count | Source | 86 | 3 | fn eq(&self, other: &Sender<C>) -> bool { | 87 | 3 | self.counter == other.counter | 88 | 3 | } |
|
89 | | } |
90 | | |
91 | | /// The receiving side. |
92 | | pub(crate) struct Receiver<C> { |
93 | | counter: *mut Counter<C>, |
94 | | } |
95 | | |
96 | | impl<C> Receiver<C> { |
97 | | /// Returns the internal `Counter`. |
98 | 97.0M | fn counter(&self) -> &Counter<C> { |
99 | 97.0M | unsafe { &*self.counter } |
100 | 97.0M | } <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 98 | 97.0k | fn counter(&self) -> &Counter<C> { | 99 | 97.0k | unsafe { &*self.counter } | 100 | 97.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 98 | 47 | fn counter(&self) -> &Counter<C> { | 99 | 47 | unsafe { &*self.counter } | 100 | 47 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 4.00k | fn counter(&self) -> &Counter<C> { | 99 | 4.00k | unsafe { &*self.counter } | 100 | 4.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<zero::drops::DropCounter>>>::counter Line | Count | Source | 98 | 155k | fn counter(&self) -> &Counter<C> { | 99 | 155k | unsafe { &*self.counter } | 100 | 155k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 98 | 250k | fn counter(&self) -> &Counter<C> { | 99 | 250k | unsafe { &*self.counter } | 100 | 250k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 98 | 40.0k | fn counter(&self) -> &Counter<C> { | 99 | 40.0k | unsafe { &*self.counter } | 100 | 40.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 98 | 15.5k | fn counter(&self) -> &Counter<C> { | 99 | 15.5k | unsafe { &*self.counter } | 100 | 15.5k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 98 | 94.8k | fn counter(&self) -> &Counter<C> { | 99 | 94.8k | unsafe { &*self.counter } | 100 | 94.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 98 | 26.6k | fn counter(&self) -> &Counter<C> { | 99 | 26.6k | unsafe { &*self.counter } | 100 | 26.6k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 98 | 26.5k | fn counter(&self) -> &Counter<C> { | 99 | 26.5k | unsafe { &*self.counter } | 100 | 26.5k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 12.8k | fn counter(&self) -> &Counter<C> { | 99 | 12.8k | unsafe { &*self.counter } | 100 | 12.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 98 | 878k | fn counter(&self) -> &Counter<C> { | 99 | 878k | unsafe { &*self.counter } | 100 | 878k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 870k | fn counter(&self) -> &Counter<C> { | 99 | 870k | unsafe { &*self.counter } | 100 | 870k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 98 | 15.8M | fn counter(&self) -> &Counter<C> { | 99 | 15.8M | unsafe { &*self.counter } | 100 | 15.8M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 98 | 64.8k | fn counter(&self) -> &Counter<C> { | 99 | 64.8k | unsafe { &*self.counter } | 100 | 64.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 98 | 2.53M | fn counter(&self) -> &Counter<C> { | 99 | 2.53M | unsafe { &*self.counter } | 100 | 2.53M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 7.13k | fn counter(&self) -> &Counter<C> { | 99 | 7.13k | unsafe { &*self.counter } | 100 | 7.13k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<i32>>>>::counter Line | Count | Source | 98 | 28 | fn counter(&self) -> &Counter<C> { | 99 | 28 | unsafe { &*self.counter } | 100 | 28 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 98 | 34.8k | fn counter(&self) -> &Counter<C> { | 99 | 34.8k | unsafe { &*self.counter } | 100 | 34.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 98 | 124 | fn counter(&self) -> &Counter<C> { | 99 | 124 | unsafe { &*self.counter } | 100 | 124 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>>>::counter Line | Count | Source | 98 | 10 | fn counter(&self) -> &Counter<C> { | 99 | 10 | unsafe { &*self.counter } | 100 | 10 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 98 | 20.2k | fn counter(&self) -> &Counter<C> { | 99 | 20.2k | unsafe { &*self.counter } | 100 | 20.2k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 148k | fn counter(&self) -> &Counter<C> { | 99 | 148k | unsafe { &*self.counter } | 100 | 148k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 98 | 10.7k | fn counter(&self) -> &Counter<C> { | 99 | 10.7k | unsafe { &*self.counter } | 100 | 10.7k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<i32>>>>::counter Line | Count | Source | 98 | 28 | fn counter(&self) -> &Counter<C> { | 99 | 28 | unsafe { &*self.counter } | 100 | 28 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<isize>>>>::counter Line | Count | Source | 98 | 3 | fn counter(&self) -> &Counter<C> { | 99 | 3 | unsafe { &*self.counter } | 100 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<i32>>>>::counter Line | Count | Source | 98 | 4 | fn counter(&self) -> &Counter<C> { | 99 | 4 | unsafe { &*self.counter } | 100 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 98 | 52 | fn counter(&self) -> &Counter<C> { | 99 | 52 | unsafe { &*self.counter } | 100 | 52 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 98 | 278 | fn counter(&self) -> &Counter<C> { | 99 | 278 | unsafe { &*self.counter } | 100 | 278 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 98 | 139k | fn counter(&self) -> &Counter<C> { | 99 | 139k | unsafe { &*self.counter } | 100 | 139k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 98 | 138k | fn counter(&self) -> &Counter<C> { | 99 | 138k | unsafe { &*self.counter } | 100 | 138k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 98 | 436k | fn counter(&self) -> &Counter<C> { | 99 | 436k | unsafe { &*self.counter } | 100 | 436k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<array::drops::DropCounter>>>::counter Line | Count | Source | 98 | 490k | fn counter(&self) -> &Counter<C> { | 99 | 490k | unsafe { &*self.counter } | 100 | 490k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 4.00k | fn counter(&self) -> &Counter<C> { | 99 | 4.00k | unsafe { &*self.counter } | 100 | 4.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 84 | fn counter(&self) -> &Counter<C> { | 99 | 84 | unsafe { &*self.counter } | 100 | 84 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 98 | 7 | fn counter(&self) -> &Counter<C> { | 99 | 7 | unsafe { &*self.counter } | 100 | 7 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 4 | fn counter(&self) -> &Counter<C> { | 99 | 4 | unsafe { &*self.counter } | 100 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 98 | 8 | fn counter(&self) -> &Counter<C> { | 99 | 8 | unsafe { &*self.counter } | 100 | 8 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 98 | 11 | fn counter(&self) -> &Counter<C> { | 99 | 11 | unsafe { &*self.counter } | 100 | 11 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 98 | 11 | fn counter(&self) -> &Counter<C> { | 99 | 11 | unsafe { &*self.counter } | 100 | 11 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 98 | 4 | fn counter(&self) -> &Counter<C> { | 99 | 4 | unsafe { &*self.counter } | 100 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 4.00k | fn counter(&self) -> &Counter<C> { | 99 | 4.00k | unsafe { &*self.counter } | 100 | 4.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<list::drops::DropCounter>>>::counter Line | Count | Source | 98 | 471k | fn counter(&self) -> &Counter<C> { | 99 | 471k | unsafe { &*self.counter } | 100 | 471k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 139k | fn counter(&self) -> &Counter<C> { | 99 | 139k | unsafe { &*self.counter } | 100 | 139k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 98 | 136k | fn counter(&self) -> &Counter<C> { | 99 | 136k | unsafe { &*self.counter } | 100 | 136k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 98 | 372k | fn counter(&self) -> &Counter<C> { | 99 | 372k | unsafe { &*self.counter } | 100 | 372k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::counter Line | Count | Source | 98 | 3 | fn counter(&self) -> &Counter<C> { | 99 | 3 | unsafe { &*self.counter } | 100 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i64>>>::counter Line | Count | Source | 98 | 12 | fn counter(&self) -> &Counter<C> { | 99 | 12 | unsafe { &*self.counter } | 100 | 12 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u8>>>::counter Line | Count | Source | 98 | 60.0k | fn counter(&self) -> &Counter<C> { | 99 | 60.0k | unsafe { &*self.counter } | 100 | 60.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<bool>>>::counter Line | Count | Source | 98 | 1.90k | fn counter(&self) -> &Counter<C> { | 99 | 1.90k | unsafe { &*self.counter } | 100 | 1.90k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<u32>>>::counter Line | Count | Source | 98 | 6 | fn counter(&self) -> &Counter<C> { | 99 | 6 | unsafe { &*self.counter } | 100 | 6 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 1.30M | fn counter(&self) -> &Counter<C> { | 99 | 1.30M | unsafe { &*self.counter } | 100 | 1.30M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::counter Line | Count | Source | 98 | 3 | fn counter(&self) -> &Counter<C> { | 99 | 3 | unsafe { &*self.counter } | 100 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<bool>>>::counter Line | Count | Source | 98 | 6.01k | fn counter(&self) -> &Counter<C> { | 99 | 6.01k | unsafe { &*self.counter } | 100 | 6.01k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 98 | 1.83M | fn counter(&self) -> &Counter<C> { | 99 | 1.83M | unsafe { &*self.counter } | 100 | 1.83M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<[u8; 0]>>>::counter Line | Count | Source | 98 | 3 | fn counter(&self) -> &Counter<C> { | 99 | 3 | unsafe { &*self.counter } | 100 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i64>>>::counter Line | Count | Source | 98 | 15 | fn counter(&self) -> &Counter<C> { | 99 | 15 | unsafe { &*self.counter } | 100 | 15 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::string::String>>>::counter Line | Count | Source | 98 | 12 | fn counter(&self) -> &Counter<C> { | 99 | 12 | unsafe { &*self.counter } | 100 | 12 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u32>>>::counter Line | Count | Source | 98 | 12 | fn counter(&self) -> &Counter<C> { | 99 | 12 | unsafe { &*self.counter } | 100 | 12 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::string::String>>>::counter Line | Count | Source | 98 | 15 | fn counter(&self) -> &Counter<C> { | 99 | 15 | unsafe { &*self.counter } | 100 | 15 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 98 | 234k | fn counter(&self) -> &Counter<C> { | 99 | 234k | unsafe { &*self.counter } | 100 | 234k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 98 | 3.00k | fn counter(&self) -> &Counter<C> { | 99 | 3.00k | unsafe { &*self.counter } | 100 | 3.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<u8>>>::counter Line | Count | Source | 98 | 99.7k | fn counter(&self) -> &Counter<C> { | 99 | 99.7k | unsafe { &*self.counter } | 100 | 99.7k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 841k | fn counter(&self) -> &Counter<C> { | 99 | 841k | unsafe { &*self.counter } | 100 | 841k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 98 | 26.8k | fn counter(&self) -> &Counter<C> { | 99 | 26.8k | unsafe { &*self.counter } | 100 | 26.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 98 | 58.1k | fn counter(&self) -> &Counter<C> { | 99 | 58.1k | unsafe { &*self.counter } | 100 | 58.1k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 8.00k | fn counter(&self) -> &Counter<C> { | 99 | 8.00k | unsafe { &*self.counter } | 100 | 8.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 4.00k | fn counter(&self) -> &Counter<C> { | 99 | 4.00k | unsafe { &*self.counter } | 100 | 4.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 98 | 35.2M | fn counter(&self) -> &Counter<C> { | 99 | 35.2M | unsafe { &*self.counter } | 100 | 35.2M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 98 | 43.0k | fn counter(&self) -> &Counter<C> { | 99 | 43.0k | unsafe { &*self.counter } | 100 | 43.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 98 | 42.7k | fn counter(&self) -> &Counter<C> { | 99 | 42.7k | unsafe { &*self.counter } | 100 | 42.7k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 98 | 32.2M | fn counter(&self) -> &Counter<C> { | 99 | 32.2M | unsafe { &*self.counter } | 100 | 32.2M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::counter Line | Count | Source | 98 | 845k | fn counter(&self) -> &Counter<C> { | 99 | 845k | unsafe { &*self.counter } | 100 | 845k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 98 | 66.5k | fn counter(&self) -> &Counter<C> { | 99 | 66.5k | unsafe { &*self.counter } | 100 | 66.5k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::counter Line | Count | Source | 98 | 234 | fn counter(&self) -> &Counter<C> { | 99 | 234 | unsafe { &*self.counter } | 100 | 234 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::counter Line | Count | Source | 98 | 55.3k | fn counter(&self) -> &Counter<C> { | 99 | 55.3k | unsafe { &*self.counter } | 100 | 55.3k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::counter Line | Count | Source | 98 | 26.0k | fn counter(&self) -> &Counter<C> { | 99 | 26.0k | unsafe { &*self.counter } | 100 | 26.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::counter Line | Count | Source | 98 | 111k | fn counter(&self) -> &Counter<C> { | 99 | 111k | unsafe { &*self.counter } | 100 | 111k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::counter Line | Count | Source | 98 | 90.4k | fn counter(&self) -> &Counter<C> { | 99 | 90.4k | unsafe { &*self.counter } | 100 | 90.4k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::counter Line | Count | Source | 98 | 23.6k | fn counter(&self) -> &Counter<C> { | 99 | 23.6k | unsafe { &*self.counter } | 100 | 23.6k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::counter Line | Count | Source | 98 | 25.9k | fn counter(&self) -> &Counter<C> { | 99 | 25.9k | unsafe { &*self.counter } | 100 | 25.9k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::counter Line | Count | Source | 98 | 130k | fn counter(&self) -> &Counter<C> { | 99 | 130k | unsafe { &*self.counter } | 100 | 130k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::counter Line | Count | Source | 98 | 94 | fn counter(&self) -> &Counter<C> { | 99 | 94 | unsafe { &*self.counter } | 100 | 94 | } |
|
101 | | |
102 | | /// Acquires another receiver reference. |
103 | 1.14M | pub(crate) fn acquire(&self) -> Receiver<C> { |
104 | 1.14M | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); |
105 | 1.14M | |
106 | 1.14M | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the |
107 | 1.14M | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we |
108 | 1.14M | // just abort when the count becomes very large. |
109 | 1.14M | if count > isize::MAX as usize { |
110 | 0 | process::abort(); |
111 | 1.14M | } |
112 | 1.14M | |
113 | 1.14M | Receiver { |
114 | 1.14M | counter: self.counter, |
115 | 1.14M | } |
116 | 1.14M | } Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::acquire <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::acquire Line | Count | Source | 103 | 1 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 1 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 1 | | 106 | 1 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 1 | // just abort when the count becomes very large. | 109 | 1 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 1 | } | 112 | 1 | | 113 | 1 | Receiver { | 114 | 1 | counter: self.counter, | 115 | 1 | } | 116 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::acquire Line | Count | Source | 103 | 1 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 1 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 1 | | 106 | 1 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 1 | // just abort when the count becomes very large. | 109 | 1 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 1 | } | 112 | 1 | | 113 | 1 | Receiver { | 114 | 1 | counter: self.counter, | 115 | 1 | } | 116 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::acquire Line | Count | Source | 103 | 1 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 1 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 1 | | 106 | 1 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 1 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 1 | // just abort when the count becomes very large. | 109 | 1 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 1 | } | 112 | 1 | | 113 | 1 | Receiver { | 114 | 1 | counter: self.counter, | 115 | 1 | } | 116 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::acquire <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u8>>>::acquire Line | Count | Source | 103 | 20.0k | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 20.0k | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 20.0k | | 106 | 20.0k | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 20.0k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 20.0k | // just abort when the count becomes very large. | 109 | 20.0k | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 20.0k | } | 112 | 20.0k | | 113 | 20.0k | Receiver { | 114 | 20.0k | counter: self.counter, | 115 | 20.0k | } | 116 | 20.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i64>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::acquire <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<bool>>>::acquire Line | Count | Source | 103 | 2.00k | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 2.00k | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 2.00k | | 106 | 2.00k | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 2.00k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 2.00k | // just abort when the count becomes very large. | 109 | 2.00k | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 2.00k | } | 112 | 2.00k | | 113 | 2.00k | Receiver { | 114 | 2.00k | counter: self.counter, | 115 | 2.00k | } | 116 | 2.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<u8>>>::acquire Line | Count | Source | 103 | 39.6k | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 39.6k | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 39.6k | | 106 | 39.6k | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 39.6k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 39.6k | // just abort when the count becomes very large. | 109 | 39.6k | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 39.6k | } | 112 | 39.6k | | 113 | 39.6k | Receiver { | 114 | 39.6k | counter: self.counter, | 115 | 39.6k | } | 116 | 39.6k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i64>>>::acquire Line | Count | Source | 103 | 3 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 3 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 3 | | 106 | 3 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 3 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 3 | // just abort when the count becomes very large. | 109 | 3 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 3 | } | 112 | 3 | | 113 | 3 | Receiver { | 114 | 3 | counter: self.counter, | 115 | 3 | } | 116 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::acquire Line | Count | Source | 103 | 637k | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 637k | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 637k | | 106 | 637k | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 637k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 637k | // just abort when the count becomes very large. | 109 | 637k | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 637k | } | 112 | 637k | | 113 | 637k | Receiver { | 114 | 637k | counter: self.counter, | 115 | 637k | } | 116 | 637k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i64>>>::acquire Line | Count | Source | 103 | 4 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 4 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 4 | | 106 | 4 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 4 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 4 | // just abort when the count becomes very large. | 109 | 4 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 4 | } | 112 | 4 | | 113 | 4 | Receiver { | 114 | 4 | counter: self.counter, | 115 | 4 | } | 116 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<u32>>>::acquire <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::string::String>>>::acquire Line | Count | Source | 103 | 4 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 4 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 4 | | 106 | 4 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 4 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 4 | // just abort when the count becomes very large. | 109 | 4 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 4 | } | 112 | 4 | | 113 | 4 | Receiver { | 114 | 4 | counter: self.counter, | 115 | 4 | } | 116 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::acquire Line | Count | Source | 103 | 43.3k | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 43.3k | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 43.3k | | 106 | 43.3k | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 43.3k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 43.3k | // just abort when the count becomes very large. | 109 | 43.3k | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 43.3k | } | 112 | 43.3k | | 113 | 43.3k | Receiver { | 114 | 43.3k | counter: self.counter, | 115 | 43.3k | } | 116 | 43.3k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::string::String>>>::acquire <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<bool>>>::acquire Line | Count | Source | 103 | 329 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 329 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 329 | | 106 | 329 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 329 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 329 | // just abort when the count becomes very large. | 109 | 329 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 329 | } | 112 | 329 | | 113 | 329 | Receiver { | 114 | 329 | counter: self.counter, | 115 | 329 | } | 116 | 329 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<u32>>>::acquire <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::acquire Line | Count | Source | 103 | 400k | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 400k | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 400k | | 106 | 400k | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 400k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 400k | // just abort when the count becomes very large. | 109 | 400k | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 400k | } | 112 | 400k | | 113 | 400k | Receiver { | 114 | 400k | counter: self.counter, | 115 | 400k | } | 116 | 400k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::acquire <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::string::String>>>::acquire Line | Count | Source | 103 | 3 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 3 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 3 | | 106 | 3 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 3 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 3 | // just abort when the count becomes very large. | 109 | 3 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 3 | } | 112 | 3 | | 113 | 3 | Receiver { | 114 | 3 | counter: self.counter, | 115 | 3 | } | 116 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u32>>>::acquire Line | Count | Source | 103 | 2 | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 2 | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 2 | | 106 | 2 | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 2 | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 2 | // just abort when the count becomes very large. | 109 | 2 | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 2 | } | 112 | 2 | | 113 | 2 | Receiver { | 114 | 2 | counter: self.counter, | 115 | 2 | } | 116 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::acquire Line | Count | Source | 103 | 1.01k | pub(crate) fn acquire(&self) -> Receiver<C> { | 104 | 1.01k | let count = self.counter().receivers.fetch_add(1, Ordering::Relaxed); | 105 | 1.01k | | 106 | 1.01k | // Cloning receivers and calling `mem::forget` on the clones could potentially overflow the | 107 | 1.01k | // counter. It's very difficult to recover sensibly from such degenerate scenarios so we | 108 | 1.01k | // just abort when the count becomes very large. | 109 | 1.01k | if count > isize::MAX as usize { | 110 | 0 | process::abort(); | 111 | 1.01k | } | 112 | 1.01k | | 113 | 1.01k | Receiver { | 114 | 1.01k | counter: self.counter, | 115 | 1.01k | } | 116 | 1.01k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<u8>>>::acquire Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<bool>>>::acquire |
117 | | |
118 | | /// Releases the receiver reference. |
119 | | /// |
120 | | /// Function `disconnect` will be called if this is the last receiver reference. |
121 | 1.19M | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { |
122 | 1.19M | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { |
123 | 49.6k | disconnect(&self.counter().chan); |
124 | 49.6k | |
125 | 49.6k | if self.counter().destroy.swap(true, Ordering::AcqRel) { |
126 | 15.0k | drop(Box::from_raw(self.counter)); |
127 | 34.5k | } |
128 | 1.14M | } |
129 | 1.19M | } Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 5 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 5 | disconnect(&self.counter().chan); | 124 | 5 | | 125 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<zero::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 10.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 10.0k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 10.0k | disconnect(&self.counter().chan); | 124 | 10.0k | | 125 | 10.0k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 10.0k | } | 128 | 0 | } | 129 | 10.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1.00k | disconnect(&self.counter().chan); | 124 | 1.00k | | 125 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 509 | drop(Box::from_raw(self.counter)); | 127 | 509 | }492 | 128 | 0 | } | 129 | 1.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 8 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 8 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 8 | disconnect(&self.counter().chan); | 124 | 8 | | 125 | 8 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 6 | } | 128 | 0 | } | 129 | 8 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 8 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 8 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 8 | disconnect(&self.counter().chan); | 124 | 8 | | 125 | 8 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 4 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 8 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<zero::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<zero::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<zero::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 100 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 100 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 100 | disconnect(&self.counter().chan); | 124 | 100 | | 125 | 100 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 100 | drop(Box::from_raw(self.counter)); | 127 | 100 | }0 | 128 | 0 | } | 129 | 100 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 23 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 23 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 23 | disconnect(&self.counter().chan); | 124 | 23 | | 125 | 23 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 6 | drop(Box::from_raw(self.counter)); | 127 | 17 | } | 128 | 0 | } | 129 | 23 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 2 | } | 128 | 0 | } | 129 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1.00k | disconnect(&self.counter().chan); | 124 | 1.00k | | 125 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1.00k | drop(Box::from_raw(self.counter)); | 127 | 1.00k | }1 | 128 | 0 | } | 129 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 29 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 29 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 29 | disconnect(&self.counter().chan); | 124 | 29 | | 125 | 29 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 20 | drop(Box::from_raw(self.counter)); | 127 | 20 | }9 | 128 | 0 | } | 129 | 29 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 4 | disconnect(&self.counter().chan); | 124 | 4 | | 125 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 6 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 6 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 6 | disconnect(&self.counter().chan); | 124 | 6 | | 125 | 6 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 6 | } | 128 | 0 | } | 129 | 6 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 9 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 9 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 9 | disconnect(&self.counter().chan); | 124 | 9 | | 125 | 9 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 3 | drop(Box::from_raw(self.counter)); | 127 | 6 | } | 128 | 0 | } | 129 | 9 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 10 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 10 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 10 | disconnect(&self.counter().chan); | 124 | 10 | | 125 | 10 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 4 | drop(Box::from_raw(self.counter)); | 127 | 6 | } | 128 | 0 | } | 129 | 10 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 2.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2.00k | disconnect(&self.counter().chan); | 124 | 2.00k | | 125 | 2.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1.65k | drop(Box::from_raw(self.counter)); | 127 | 1.65k | }352 | 128 | 0 | } | 129 | 2.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 47 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 47 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 47 | disconnect(&self.counter().chan); | 124 | 47 | | 125 | 47 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 47 | } | 128 | 0 | } | 129 | 47 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 3 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3 | disconnect(&self.counter().chan); | 124 | 3 | | 125 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 3 | } | 128 | 0 | } | 129 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 12 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 12 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 12 | disconnect(&self.counter().chan); | 124 | 12 | | 125 | 12 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 10 | } | 128 | 0 | } | 129 | 12 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<i32>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 5 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 5 | disconnect(&self.counter().chan); | 124 | 5 | | 125 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 3 | drop(Box::from_raw(self.counter)); | 127 | 3 | }2 | 128 | 0 | } | 129 | 5 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<isize>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 1 | } | 128 | 0 | } | 129 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<isize>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 32 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 32 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 32 | disconnect(&self.counter().chan); | 124 | 32 | | 125 | 32 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 19 | drop(Box::from_raw(self.counter)); | 127 | 19 | }13 | 128 | 0 | } | 129 | 32 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<isize>> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3 | disconnect(&self.counter().chan); | 124 | 3 | | 125 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 2 | } | 128 | 18.4E | } | 129 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 2 | }0 | 128 | 0 | } | 129 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 203 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 203 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 203 | disconnect(&self.counter().chan); | 124 | 203 | | 125 | 203 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 101 | drop(Box::from_raw(self.counter)); | 127 | 102 | } | 128 | 0 | } | 129 | 203 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 59 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 59 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 59 | disconnect(&self.counter().chan); | 124 | 59 | | 125 | 59 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 31 | drop(Box::from_raw(self.counter)); | 127 | 31 | }28 | 128 | 0 | } | 129 | 59 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<i32>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 1 | } | 128 | 0 | } | 129 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 35 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 35 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 35 | disconnect(&self.counter().chan); | 124 | 35 | | 125 | 35 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 13 | drop(Box::from_raw(self.counter)); | 127 | 21 | } | 128 | 0 | } | 129 | 34 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 6 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 6 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 6 | disconnect(&self.counter().chan); | 124 | 6 | | 125 | 6 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 4 | drop(Box::from_raw(self.counter)); | 127 | 4 | }2 | 128 | 0 | } | 129 | 6 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<i32>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<i32>> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 5 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 5 | disconnect(&self.counter().chan); | 124 | 5 | | 125 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 3 | } | 128 | 0 | } | 129 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<array::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 100 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 100 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 100 | disconnect(&self.counter().chan); | 124 | 100 | | 125 | 100 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 100 | drop(Box::from_raw(self.counter)); | 127 | 100 | }0 | 128 | 0 | } | 129 | 100 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 5 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 5 | disconnect(&self.counter().chan); | 124 | 5 | | 125 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 5 | } | 128 | 0 | } | 129 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<array::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1.00k | disconnect(&self.counter().chan); | 124 | 1.00k | | 125 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 394 | drop(Box::from_raw(self.counter)); | 127 | 607 | } | 128 | 0 | } | 129 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 10.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 10.0k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 10.0k | disconnect(&self.counter().chan); | 124 | 10.0k | | 125 | 10.0k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 4 | drop(Box::from_raw(self.counter)); | 127 | 10.0k | } | 128 | 0 | } | 129 | 10.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 18 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 18 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 18 | disconnect(&self.counter().chan); | 124 | 18 | | 125 | 18 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 16 | } | 128 | 0 | } | 129 | 18 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<array::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<array::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 1 | }0 | 128 | 0 | } | 129 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 7 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 7 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 7 | disconnect(&self.counter().chan); | 124 | 7 | | 125 | 7 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 6 | drop(Box::from_raw(self.counter)); | 127 | 6 | }1 | 128 | 0 | } | 129 | 7 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 1 | } | 128 | 0 | } | 129 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3 | disconnect(&self.counter().chan); | 124 | 3 | | 125 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 3 | } | 128 | 1 | } | 129 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 3 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 2 | } | 128 | 1 | } | 129 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3 | disconnect(&self.counter().chan); | 124 | 3 | | 125 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 3 | } | 128 | 1 | } | 129 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 1 | } | 128 | 0 | } | 129 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 5 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 5 | disconnect(&self.counter().chan); | 124 | 5 | | 125 | 5 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 5 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 10.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 10.0k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 10.0k | disconnect(&self.counter().chan); | 124 | 10.0k | | 125 | 10.0k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 4 | drop(Box::from_raw(self.counter)); | 127 | 10.0k | } | 128 | 0 | } | 129 | 10.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1.00k | disconnect(&self.counter().chan); | 124 | 1.00k | | 125 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 718 | drop(Box::from_raw(self.counter)); | 127 | 718 | }283 | 128 | 0 | } | 129 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<list::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 100 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 100 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 100 | disconnect(&self.counter().chan); | 124 | 100 | | 125 | 100 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 100 | drop(Box::from_raw(self.counter)); | 127 | 100 | }0 | 128 | 0 | } | 129 | 100 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 8 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 8 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 8 | disconnect(&self.counter().chan); | 124 | 8 | | 125 | 8 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 6 | } | 128 | 0 | } | 129 | 8 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<list::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<list::drops::DropCounter>>>::release::<<crossbeam_channel::channel::Receiver<list::drops::DropCounter> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u32>>>::release::<<crossbeam_channel::channel::Receiver<u32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 2 | }0 | 128 | 2 | } | 129 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i64>>>::release::<<crossbeam_channel::channel::Receiver<i64> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 1 | }0 | 128 | 3 | } | 129 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<u8>>>::release::<<crossbeam_channel::channel::Receiver<u8> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<u32>>>::release::<<crossbeam_channel::channel::Receiver<u32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 2 | }0 | 128 | 0 | } | 129 | 2 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::string::String>>>::release::<<crossbeam_channel::channel::Receiver<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 1 | }0 | 128 | 3 | } | 129 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::string::String>>>::release::<<crossbeam_channel::channel::Receiver<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 5 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 1 | }0 | 128 | 4 | } | 129 | 5 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 44.3k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 44.3k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1.13k | disconnect(&self.counter().chan); | 124 | 1.13k | | 125 | 1.13k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1.13k | drop(Box::from_raw(self.counter)); | 127 | 1.13k | }0 | 128 | 43.2k | } | 129 | 44.3k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<[u8; 0]>>>::release::<<crossbeam_channel::channel::Receiver<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::release::<<crossbeam_channel::channel::Receiver<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<[u8; 0]>>>::release::<<crossbeam_channel::channel::Receiver<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 1 | }0 | 128 | 0 | } | 129 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<bool>>>::release::<<crossbeam_channel::channel::Receiver<bool> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::release::<<crossbeam_channel::channel::Receiver<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 1 | }0 | 128 | 0 | } | 129 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i64>>>::release::<<crossbeam_channel::channel::Receiver<i64> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 5 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 5 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1 | drop(Box::from_raw(self.counter)); | 127 | 1 | }0 | 128 | 4 | } | 129 | 5 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u8>>>::release::<<crossbeam_channel::channel::Receiver<u8> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 20.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 20.0k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 2 | }0 | 128 | 20.0k | } | 129 | 20.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i64>>>::release::<<crossbeam_channel::channel::Receiver<i64> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<u8>>>::release::<<crossbeam_channel::channel::Receiver<u8> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 40.0k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 40.0k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 4 | disconnect(&self.counter().chan); | 124 | 4 | | 125 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 4 | drop(Box::from_raw(self.counter)); | 127 | 4 | }0 | 128 | 39.9k | } | 129 | 40.0k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<golang::zerosize::zero_size_struct::ZeroSize>>>::release::<<crossbeam_channel::channel::Receiver<golang::zerosize::zero_size_struct::ZeroSize> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 400k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 400k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 2 | }0 | 128 | 400k | } | 129 | 400k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::string::String>>>::release::<<crossbeam_channel::channel::Receiver<alloc::string::String> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<[u8; 0]>>>::release::<<crossbeam_channel::channel::Receiver<[u8; 0]> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any>> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 1 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1 | disconnect(&self.counter().chan); | 124 | 1 | | 125 | 1 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 1 | } | 128 | 0 | } | 129 | 1 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<bool>>>::release::<<crossbeam_channel::channel::Receiver<bool> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 2.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3 | disconnect(&self.counter().chan); | 124 | 3 | | 125 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 3 | drop(Box::from_raw(self.counter)); | 127 | 3 | }0 | 128 | 2.00k | } | 129 | 2.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<bool>>>::release::<<crossbeam_channel::channel::Receiver<bool> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 635 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 635 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 306 | disconnect(&self.counter().chan); | 124 | 306 | | 125 | 306 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 306 | drop(Box::from_raw(self.counter)); | 127 | 306 | }0 | 128 | 329 | } | 129 | 635 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<u32>>>::release::<<crossbeam_channel::channel::Receiver<u32> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 641k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 641k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 5.11k | disconnect(&self.counter().chan); | 124 | 5.11k | | 125 | 5.11k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 5.11k | drop(Box::from_raw(self.counter)); | 127 | 5.11k | }0 | 128 | 636k | } | 129 | 641k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 0 | disconnect(&self.counter().chan); | 124 | 0 |
| 125 | 0 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 0 | } | 128 | 1.00k | } | 129 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 3 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3 | disconnect(&self.counter().chan); | 124 | 3 | | 125 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 3 | } | 128 | 0 | } | 129 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 33 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 33 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 33 | disconnect(&self.counter().chan); | 124 | 33 | | 125 | 33 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 13 | drop(Box::from_raw(self.counter)); | 127 | 20 | } | 128 | 0 | } | 129 | 33 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 32 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 32 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 32 | disconnect(&self.counter().chan); | 124 | 32 | | 125 | 32 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 21 | drop(Box::from_raw(self.counter)); | 127 | 21 | }11 | 128 | 0 | } | 129 | 32 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 2.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2.00k | disconnect(&self.counter().chan); | 124 | 2.00k | | 125 | 2.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 620 | drop(Box::from_raw(self.counter)); | 127 | 1.38k | } | 128 | 0 | } | 129 | 2.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 13 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 13 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 13 | disconnect(&self.counter().chan); | 124 | 13 | | 125 | 13 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 3 | drop(Box::from_raw(self.counter)); | 127 | 10 | } | 128 | 0 | } | 129 | 13 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 2 | } | 128 | 0 | } | 129 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 4 | disconnect(&self.counter().chan); | 124 | 4 | | 125 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 6 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 6 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 6 | disconnect(&self.counter().chan); | 124 | 6 | | 125 | 6 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 6 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 57 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 57 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 57 | disconnect(&self.counter().chan); | 124 | 57 | | 125 | 57 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 5 | drop(Box::from_raw(self.counter)); | 127 | 52 | } | 128 | 0 | } | 129 | 57 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 7 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 7 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 7 | disconnect(&self.counter().chan); | 124 | 7 | | 125 | 7 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 7 | } | 128 | 0 | } | 129 | 7 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 1.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 1.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 1.00k | disconnect(&self.counter().chan); | 124 | 1.00k | | 125 | 1.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 1.00k | drop(Box::from_raw(self.counter)); | 127 | 1.00k | }1 | 128 | 0 | } | 129 | 1.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<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 | 121 | 3.00k | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 3.00k | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3.00k | disconnect(&self.counter().chan); | 124 | 3.00k | | 125 | 3.00k | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 2.03k | drop(Box::from_raw(self.counter)); | 127 | 2.03k | }971 | 128 | 0 | } | 129 | 3.00k | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#2}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 4 | disconnect(&self.counter().chan); | 124 | 4 | | 125 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 4 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#0}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<std::time::Instant>>>::release::<<crossbeam_channel::channel::Receiver<std::time::Instant> as core::ops::drop::Drop>::drop::{closure#1}> Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>>>::release::<<crossbeam_channel::channel::Receiver<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>> as core::ops::drop::Drop>::drop::{closure#1}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 2 | } | 128 | 0 | } | 129 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>>>::release::<<crossbeam_channel::channel::Receiver<usize> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 3 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 3 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 3 | disconnect(&self.counter().chan); | 124 | 3 | | 125 | 3 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 3 | } | 128 | 0 | } | 129 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 2 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 2 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 2 | disconnect(&self.counter().chan); | 124 | 2 | | 125 | 2 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 2 | } | 128 | 0 | } | 129 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 19 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 19 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 19 | disconnect(&self.counter().chan); | 124 | 19 | | 125 | 19 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 6 | drop(Box::from_raw(self.counter)); | 127 | 13 | } | 128 | 0 | } | 129 | 19 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#2}> Line | Count | Source | 121 | 7 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 7 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 7 | disconnect(&self.counter().chan); | 124 | 7 | | 125 | 7 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 7 | } | 128 | 0 | } | 129 | 7 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#1}> Line | Count | Source | 121 | 9 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 9 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 9 | disconnect(&self.counter().chan); | 124 | 9 | | 125 | 9 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 3 | drop(Box::from_raw(self.counter)); | 127 | 6 | } | 128 | 0 | } | 129 | 9 | } |
Unexecuted instantiation: <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>>>::release::<<crossbeam_channel::channel::Receiver<i32> as core::ops::drop::Drop>::drop::{closure#0}> <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>>>::release::<<crossbeam_channel::channel::Receiver<()> as core::ops::drop::Drop>::drop::{closure#0}> Line | Count | Source | 121 | 4 | pub(crate) unsafe fn release<F: FnOnce(&C) -> bool>(&self, disconnect: F) { | 122 | 4 | if self.counter().receivers.fetch_sub(1, Ordering::AcqRel) == 1 { | 123 | 4 | disconnect(&self.counter().chan); | 124 | 4 | | 125 | 4 | if self.counter().destroy.swap(true, Ordering::AcqRel) { | 126 | 0 | drop(Box::from_raw(self.counter)); | 127 | 4 | } | 128 | 0 | } | 129 | 4 | } |
|
130 | | } |
131 | | |
132 | | impl<C> ops::Deref for Receiver<C> { |
133 | | type Target = C; |
134 | | |
135 | 94.7M | fn deref(&self) -> &C { |
136 | 94.7M | &self.counter().chan |
137 | 94.7M | } <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<zero::drops::DropCounter>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 155k | fn deref(&self) -> &C { | 136 | 155k | &self.counter().chan | 137 | 155k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 250k | fn deref(&self) -> &C { | 136 | 250k | &self.counter().chan | 137 | 250k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 10.0k | fn deref(&self) -> &C { | 136 | 10.0k | &self.counter().chan | 137 | 10.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 97.0k | fn deref(&self) -> &C { | 136 | 97.0k | &self.counter().chan | 137 | 97.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 23 | fn deref(&self) -> &C { | 136 | 23 | &self.counter().chan | 137 | 23 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1.00k | fn deref(&self) -> &C { | 136 | 1.00k | &self.counter().chan | 137 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 4.12k | fn deref(&self) -> &C { | 136 | 4.12k | &self.counter().chan | 137 | 4.12k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 15.4k | fn deref(&self) -> &C { | 136 | 15.4k | &self.counter().chan | 137 | 15.4k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 94.9k | fn deref(&self) -> &C { | 136 | 94.9k | &self.counter().chan | 137 | 94.9k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 26.6k | fn deref(&self) -> &C { | 136 | 26.6k | &self.counter().chan | 137 | 26.6k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 26.5k | fn deref(&self) -> &C { | 136 | 26.5k | &self.counter().chan | 137 | 26.5k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 6.86k | fn deref(&self) -> &C { | 136 | 6.86k | &self.counter().chan | 137 | 6.86k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 879k | fn deref(&self) -> &C { | 136 | 879k | &self.counter().chan | 137 | 879k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 871k | fn deref(&self) -> &C { | 136 | 871k | &self.counter().chan | 137 | 871k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 15.9M | fn deref(&self) -> &C { | 136 | 15.9M | &self.counter().chan | 137 | 15.9M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 64.9k | fn deref(&self) -> &C { | 136 | 64.9k | &self.counter().chan | 137 | 64.9k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 2.53M | fn deref(&self) -> &C { | 136 | 2.53M | &self.counter().chan | 137 | 2.53M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<i32>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 13 | fn deref(&self) -> &C { | 136 | 13 | &self.counter().chan | 137 | 13 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<i32>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 13 | fn deref(&self) -> &C { | 136 | 13 | &self.counter().chan | 137 | 13 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 34.8k | fn deref(&self) -> &C { | 136 | 34.8k | &self.counter().chan | 137 | 34.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<i32>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1 | fn deref(&self) -> &C { | 136 | 1 | &self.counter().chan | 137 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 20.1k | fn deref(&self) -> &C { | 136 | 20.1k | &self.counter().chan | 137 | 20.1k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 148k | fn deref(&self) -> &C { | 136 | 148k | &self.counter().chan | 137 | 148k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 10.1k | fn deref(&self) -> &C { | 136 | 10.1k | &self.counter().chan | 137 | 10.1k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 272 | fn deref(&self) -> &C { | 136 | 272 | &self.counter().chan | 137 | 272 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 106 | fn deref(&self) -> &C { | 136 | 106 | &self.counter().chan | 137 | 106 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<isize>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1 | fn deref(&self) -> &C { | 136 | 1 | &self.counter().chan | 137 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 16 | fn deref(&self) -> &C { | 136 | 16 | &self.counter().chan | 137 | 16 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 109k | fn deref(&self) -> &C { | 136 | 109k | &self.counter().chan | 137 | 109k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 138k | fn deref(&self) -> &C { | 136 | 138k | &self.counter().chan | 137 | 138k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 439k | fn deref(&self) -> &C { | 136 | 439k | &self.counter().chan | 137 | 439k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<array::drops::DropCounter>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 490k | fn deref(&self) -> &C { | 136 | 490k | &self.counter().chan | 137 | 490k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1.00k | fn deref(&self) -> &C { | 136 | 1.00k | &self.counter().chan | 137 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 4 | fn deref(&self) -> &C { | 136 | 4 | &self.counter().chan | 137 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 64 | fn deref(&self) -> &C { | 136 | 64 | &self.counter().chan | 137 | 64 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1 | fn deref(&self) -> &C { | 136 | 1 | &self.counter().chan | 137 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1 | fn deref(&self) -> &C { | 136 | 1 | &self.counter().chan | 137 | 1 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 377k | fn deref(&self) -> &C { | 136 | 377k | &self.counter().chan | 137 | 377k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1.00k | fn deref(&self) -> &C { | 136 | 1.00k | &self.counter().chan | 137 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<list::drops::DropCounter>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 471k | fn deref(&self) -> &C { | 136 | 471k | &self.counter().chan | 137 | 471k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 109k | fn deref(&self) -> &C { | 136 | 109k | &self.counter().chan | 137 | 109k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 136k | fn deref(&self) -> &C { | 136 | 136k | &self.counter().chan | 137 | 136k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i64>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 3 | fn deref(&self) -> &C { | 136 | 3 | &self.counter().chan | 137 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u8>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 20.0k | fn deref(&self) -> &C { | 136 | 20.0k | &self.counter().chan | 137 | 20.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<bool>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 2.00k | fn deref(&self) -> &C { | 136 | 2.00k | &self.counter().chan | 137 | 2.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<bool>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 329 | fn deref(&self) -> &C { | 136 | 329 | &self.counter().chan | 137 | 329 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 500k | fn deref(&self) -> &C { | 136 | 500k | &self.counter().chan | 137 | 500k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::string::String>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 3 | fn deref(&self) -> &C { | 136 | 3 | &self.counter().chan | 137 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<u32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 2 | fn deref(&self) -> &C { | 136 | 2 | &self.counter().chan | 137 | 2 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1.01k | fn deref(&self) -> &C { | 136 | 1.01k | &self.counter().chan | 137 | 1.01k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 682k | fn deref(&self) -> &C { | 136 | 682k | &self.counter().chan | 137 | 682k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i64>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 4 | fn deref(&self) -> &C { | 136 | 4 | &self.counter().chan | 137 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::string::String>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 4 | fn deref(&self) -> &C { | 136 | 4 | &self.counter().chan | 137 | 4 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 150k | fn deref(&self) -> &C { | 136 | 150k | &self.counter().chan | 137 | 150k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<u8>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 22.8k | fn deref(&self) -> &C { | 136 | 22.8k | &self.counter().chan | 137 | 22.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 32.2M | fn deref(&self) -> &C { | 136 | 32.2M | &self.counter().chan | 137 | 32.2M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 848k | fn deref(&self) -> &C { | 136 | 848k | &self.counter().chan | 137 | 848k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 66.5k | fn deref(&self) -> &C { | 136 | 66.5k | &self.counter().chan | 137 | 66.5k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 842k | fn deref(&self) -> &C { | 136 | 842k | &self.counter().chan | 137 | 842k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 26.8k | fn deref(&self) -> &C { | 136 | 26.8k | &self.counter().chan | 137 | 26.8k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 58.1k | fn deref(&self) -> &C { | 136 | 58.1k | &self.counter().chan | 137 | 58.1k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 2.00k | fn deref(&self) -> &C { | 136 | 2.00k | &self.counter().chan | 137 | 2.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 1.00k | fn deref(&self) -> &C { | 136 | 1.00k | &self.counter().chan | 137 | 1.00k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 35.2M | fn deref(&self) -> &C { | 136 | 35.2M | &self.counter().chan | 137 | 35.2M | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 43.0k | fn deref(&self) -> &C { | 136 | 43.0k | &self.counter().chan | 137 | 43.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 42.7k | fn deref(&self) -> &C { | 136 | 42.7k | &self.counter().chan | 137 | 42.7k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 130k | fn deref(&self) -> &C { | 136 | 130k | &self.counter().chan | 137 | 130k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 73 | fn deref(&self) -> &C { | 136 | 73 | &self.counter().chan | 137 | 73 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<i32>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 179 | fn deref(&self) -> &C { | 136 | 179 | &self.counter().chan | 137 | 179 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 55.3k | fn deref(&self) -> &C { | 136 | 55.3k | &self.counter().chan | 137 | 55.3k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 26.0k | fn deref(&self) -> &C { | 136 | 26.0k | &self.counter().chan | 137 | 26.0k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 111k | fn deref(&self) -> &C { | 136 | 111k | &self.counter().chan | 137 | 111k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<()>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 90.4k | fn deref(&self) -> &C { | 136 | 90.4k | &self.counter().chan | 137 | 90.4k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 14.6k | fn deref(&self) -> &C { | 136 | 14.6k | &self.counter().chan | 137 | 14.6k | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>> as core::ops::deref::Deref>::deref Line | Count | Source | 135 | 25.8k | fn deref(&self) -> &C { | 136 | 25.8k | &self.counter().chan | 137 | 25.8k | } |
|
138 | | } |
139 | | |
140 | | impl<C> PartialEq for Receiver<C> { |
141 | 9 | fn eq(&self, other: &Receiver<C>) -> bool { |
142 | 9 | self.counter == other.counter |
143 | 9 | } <crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::list::Channel<usize>> as core::cmp::PartialEq>::eq Line | Count | Source | 141 | 3 | fn eq(&self, other: &Receiver<C>) -> bool { | 142 | 3 | self.counter == other.counter | 143 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::zero::Channel<usize>> as core::cmp::PartialEq>::eq Line | Count | Source | 141 | 3 | fn eq(&self, other: &Receiver<C>) -> bool { | 142 | 3 | self.counter == other.counter | 143 | 3 | } |
<crossbeam_channel::counter::Receiver<crossbeam_channel::flavors::array::Channel<usize>> as core::cmp::PartialEq>::eq Line | Count | Source | 141 | 3 | fn eq(&self, other: &Receiver<C>) -> bool { | 142 | 3 | self.counter == other.counter | 143 | 3 | } |
|
144 | | } |