pub trait PageNo: Eq + Hash + Copy + Unpin + Send + Sync + Ord + Default {
const SIZE: usize;
fn new(_: u32) -> Self;
fn as_u32(self) -> u32;
fn to_bytes(&self) -> Vec<u8>;
fn from_bytes(_: &[u8]) -> Self;
}pub trait PageNo: Eq + Hash + Copy + Unpin + Send + Sync + Ord + Default {
const SIZE: usize;
fn new(_: u32) -> Self;
fn as_u32(self) -> u32;
fn to_bytes(&self) -> Vec<u8>;
fn from_bytes(_: &[u8]) -> Self;
}