mod sealed {
pub trait QK {}
}
pub trait QueryKind: sealed::QK {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct Fixed;
impl sealed::QK for Fixed {}
impl QueryKind for Fixed {}
impl std::fmt::Debug for Fixed {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Fix")
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct Advice;
impl sealed::QK for Advice {}
impl QueryKind for Advice {}
impl std::fmt::Debug for Advice {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Adv")
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct Instance;
impl sealed::QK for Instance {}
impl QueryKind for Instance {}
impl std::fmt::Debug for Instance {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Ins")
}
}