backhopper_xref_graph/
state.rs1mod private {
12 pub trait Sealed {}
13}
14
15pub trait Mode: private::Sealed {
16 const NAME: &'static str;
17}
18
19pub trait Phase: private::Sealed {
20 const NAME: &'static str;
21}
22
23#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
24pub struct Functions;
25
26#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
27pub struct Modules;
28
29#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
30pub struct Building;
31
32#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
33pub struct Built;
34
35impl private::Sealed for Functions {}
36impl private::Sealed for Modules {}
37impl private::Sealed for Building {}
38impl private::Sealed for Built {}
39
40impl Mode for Functions {
41 const NAME: &'static str = "functions";
42}
43impl Mode for Modules {
44 const NAME: &'static str = "modules";
45}
46impl Phase for Building {
47 const NAME: &'static str = "building";
48}
49impl Phase for Built {
50 const NAME: &'static str = "built";
51}