o3 0.21.0

shared-nothing primitives
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::marker;

use crate::depot::queue::tagged;

pub struct LaneUndo<E>(pub(in crate::depot) marker::PhantomData<E>);

impl<E: crate::depot::raw::TagEntry> crate::mem::Return for LaneUndo<E>
where
    E::Store: crate::depot::raw::LaneStore,
{
    type Item = E;

    fn return_item(self, entry: E) {
        let entry: tagged::Linked<E> = unsafe { tagged::Linked::new(entry) };
        entry.remove();
    }
}