1mod sealed {
4 pub trait QK {}
7}
8
9pub trait QueryKind: sealed::QK {}
11
12#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct Fixed;
15
16impl sealed::QK for Fixed {}
17impl QueryKind for Fixed {}
18
19impl std::fmt::Debug for Fixed {
20 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
21 write!(f, "Fix")
22 }
23}
24
25#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
27pub struct Advice;
28
29impl sealed::QK for Advice {}
30impl QueryKind for Advice {}
31
32impl std::fmt::Debug for Advice {
33 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
34 write!(f, "Adv")
35 }
36}
37
38#[derive(Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
40pub struct Instance;
41
42impl sealed::QK for Instance {}
43impl QueryKind for Instance {}
44
45impl std::fmt::Debug for Instance {
46 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
47 write!(f, "Ins")
48 }
49}