pub enum Command {
Show 14 variants
Compile(CompileArgs),
Compare(CompareArgs),
Explain(ExplainArgs),
SupportedSyntax,
SupportReport(SupportReportArgs),
StructuralReport(StructuralReportArgs),
SemanticReport(SemanticReportArgs),
TzifValidate(TzifValidateArgs),
AuxTableValidate(AuxTableValidateArgs),
VendorOracleSample,
VendorOracleAdmit(VendorOracleAdmitArgs),
ReleaseDiff(ReleaseDiffArgs),
Doctor(DoctorArgs),
SizeReport(SizeReportArgs),
}Variants§
Compile(CompileArgs)
Compile zones from tzdata source into a TZif output tree.
Compare(CompareArgs)
Compile a zone and compare it against reference zic.
Explain(ExplainArgs)
Describe what a zone would compile to (or why it is unsupported).
SupportedSyntax
Print the syntax subset supported by this version.
SupportReport(SupportReportArgs)
Report which identifiers in a source file compile, and bucket the rest by reason.
StructuralReport(StructuralReportArgs)
Inventory how zic-rs TZif output differs structurally from reference zic (T8).
SemanticReport(SemanticReportArgs)
Emit typed zdump-backed semantic witnesses (offset/is_dst/abbreviation at probe instants)
for a compact zone set — the behaviour axis of the conformance engine (T15.3). Degrades visibly
(oracle_mode: unavailable) when reference zic/zdump are absent; never errors on that.
TzifValidate(TzifValidateArgs)
Validate emitted TZif against RFC 9636 structural invariants (T15.4) — a separate axis from
semantic behaviour. Emits typed structural/footer/reader-compat/leap-expiry/version verdicts;
validates zic-rs output and reference zic output (so the validator respects the real
producer profile, not only zic-rs’s assumptions).
AuxTableValidate(AuxTableValidateArgs)
Validate auxiliary tables (zone.tab/zone1970.tab/zonenow.tab/iso3166.tab) for table
structural admissibility only (T16.4) — a separate surface from compile/semantic/structural.
These are policy/index/reference artifacts, not compile inputs; a conformant row proves the
row is well-formed, never that the named zone was compiled or is historically equivalent.
VendorOracleSample
Emit the canonical vendor-oracle-receipt-v1 sample (T16.5) — the schema example an external
vendor/platform lab fills in. The core repo admits receipts (verifies the contract + rules); it
does not run QEMU/VMs (does_not_ship_or_operate_vendor_qemu_labs_in_core_repo).
VendorOracleAdmit(VendorOracleAdmitArgs)
Ingest + admit an externally-produced vendor-oracle-receipt-v1 JSON file (T16.5b) — the
convergence point: an external lab generates a receipt, the core repo admits or rejects it by
typed reason. Fail-closed parsing (a parse error is distinct from an inadmissible receipt); the
core runs no VMs.
ReleaseDiff(ReleaseDiffArgs)
Diff two tzdb releases (T16.6a). Compiles each identifier in --old and --new and
classifies the change: structural (always) + behavioural past/future (with a zdump oracle).
Read-only; never installs. JSON zic-rs-release-diff-v1.
Doctor(DoctorArgs)
Read-only environment probe (T16.6b) — reference zic/zdump present? optional tzdata.zi
version+hash? It admits/validates nothing and always exits 0 (a diagnosis, not a gate).
SizeReport(SizeReportArgs)
Read-only bundle footprint (T21.2) — measure a produced --out tree (TZif/link/other counts,
bytes, version histogram, largest file) + a deterministic bundle_hash. For container/embedded
image builders (docs/container-embedded-builder.md). Never compiles/writes/admits.
Trait Implementations§
Source§impl FromArgMatches for Command
impl FromArgMatches for Command
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for Command
impl Subcommand for Command
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand