use crate::diag::{Verdict, WitnessKey};
use crate::fact::FactError;
use crate::pass::AnalysisId;
use vize_l0::Span;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum WitnessError {
UnknownGroup { link: usize, group: AnalysisId },
Fact { link: usize, error: FactError },
KeyShape {
link: usize,
group: AnalysisId,
key: WitnessKey,
},
MissingKey {
link: usize,
group: AnalysisId,
key: WitnessKey,
},
SpanMismatch {
link: usize,
group: AnalysisId,
fact: Span,
witness: Span,
},
NotProven {
link: usize,
group: AnalysisId,
verdict: Verdict,
},
}