use crate::collections::queue::fixed;
pub unsafe trait Index: Copy {
fn index(self) -> u32;
}
unsafe impl Index for u32 {
fn index(self) -> u32 {
self
}
}
pub trait Coalescing<T, I = u32> {
unsafe fn schedule_unchecked(&mut self, index: I, value: T);
}
pub trait Fifo<T> {
unsafe fn vacant_entry_unchecked<'queue>(&'queue mut self) -> fixed::Vacant<'queue, T>;
}