use std::marker;
use o3::depot;
use crate::driver::receive::credit::{self, storage};
unsafe impl<'a, 'd> depot::raw::Project<usize> for &'a credit::Storage<'d> {
type Output = credit::Slot<'a, 'd>;
unsafe fn project(self, index: usize) -> Self::Output {
let entry = unsafe { self.entries.active.entries.get_unchecked(index) };
credit::Slot {
entry: storage::Slot {
entry,
active: marker::PhantomData,
},
driver: self.driver,
}
}
}