Skip to main content

telltale_language/ast/
validation.rs

1// Validation error types
2
3/// Choreography validation errors
4#[derive(Debug, Clone, thiserror::Error)]
5pub enum ValidationError {
6    #[error("Role {0} not declared in choreography")]
7    UndefinedRole(String),
8
9    #[error("Recursive variable {0} not bound")]
10    UnboundVariable(String),
11
12    #[error("Choice role {0} must be sender in all branches")]
13    InvalidChoice(String),
14
15    #[error("Deadlock detected in protocol")]
16    Deadlock,
17
18    #[error("Role {0} is not used in protocol")]
19    UnusedRole(String),
20
21    #[error("Extension error: {0}")]
22    ExtensionError(String),
23
24    #[error("Duplicate proof bundle declaration: {0}")]
25    DuplicateProofBundle(String),
26
27    #[error("Required proof bundle is not declared: {0}")]
28    MissingProofBundle(String),
29
30    #[error(
31        "ProtocolMachine-core operation requires capability not covered by required bundles: {0}"
32    )]
33    MissingCapability(String),
34}