//! Traits for abstracting away frame allocation and deallocation.
use crate;
/// A trait for types that can allocate a frame of memory.
///
/// # Safety
///
/// The implementer of this trait must guarantee that the `allocate_frame`
/// method returns only unique unused frames. Otherwise, undefined behavior
/// may result from two callers modifying or deallocating the same frame.
pub unsafe
/// A trait for types that can deallocate a frame of memory.