o3 0.26.4

shared-nothing primitives
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::depot::queue::pool;

// SAFETY: Head retains this exact lane's current initialized head until projection.
unsafe impl<'a, T, S, R, const TRACK: bool> crate::depot::raw::Project<(), pool::Head>
    for (pool::Lane<'a, T, S, TRACK>, R)
{
    type Output = (pool::Front<'a, T, S, TRACK>, R);

    unsafe fn project(self, _: ()) -> Self::Output {
        let (lane, retained) = self;
        let index = lane.slot.queue.links.head_raw();
        (pool::Front::new(lane, index), retained)
    }
}