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")]
Scan,
#[value(help = "Only verify functions annotated with #[rapx::verify]")]
Targeted,
#[value(
help = "Like `scan` or `targeted` but skip struct invariant checks"
)]
Invless,
}
#[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 = "scan")]
pub mode: VerifyMode,
}