use clap::Args;
#[derive(Debug, Clone, Copy, clap::ValueEnum)]
pub enum VerifyMode {
#[value(help = "Auto-detect: verify all functions with unsafe callees or struct invariants")]
All,
#[value(help = "Only verify functions annotated with #[rapx::verify]")]
Targeted,
#[value(
help = "Like `all` or `targeted` but skip struct invariant checks (not yet implemented)"
)]
Invariantless,
}
#[derive(Debug, Clone, Args)]
pub struct VerifyArgs {
#[arg(long)]
pub prepare_targets: bool,
#[arg(long, default_value_t = 0)]
pub allow_pathseg_repeat: usize,
#[arg(long, default_value = "all")]
pub mode: VerifyMode,
}