//! Traits for abstracting away frame allocation and deallocation.
usecrate::structures::paging::{PageSize, PhysFrame};/// A trait for types that can allocate a frame of memory.
pubtraitFrameAllocator<S: PageSize> {/// Allocate a frame of the appropriate size and return it if possible.
fnallocate_frame(&mutself)->Option<PhysFrame<S>>;}/// A trait for types that can deallocate a frame of memory.
pubtraitFrameDeallocator<S: PageSize> {/// Deallocate the given frame of memory.
fndeallocate_frame(&mutself, frame:PhysFrame<S>);}