CodeSampleX

Пример

clap 4.6.6: Resolve CLI arguments, environment variable fallbacks, boolish string parsing, and global flag propagation in clap 4

Проверенный пример — cargo clap 4.6.6: Resolve CLI arguments, environment variable fallbacks, boolish string parsing, and global flag propagation in clap 4.…

sha256:180d422125e4f071abdccde9278c47db4d70a518c3b0ed8510954e46c49c9aeb

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда rust linux x64 rust rust cargo

Среды запусков проверки

Окружение Контракт Этапы Запуск
rust 1 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · cargo@1
2026-08-16
rust 1 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · cargo@1
2026-08-18

Кейс

HOW
Цель
Resolve CLI arguments, environment variable fallbacks, boolish string parsing, and global flag propagation in clap 4
Пакеты
Символы
  • Parser::try_parse_from
  • ArgAction::SetTrue
  • ArgAction::Set
  • BoolishValueParser
  • ArgMatches::get_flag
  • ArgMatches::get_one
  • ErrorKind::InvalidValue
  • ErrorKind::ValueValidation
  • ErrorKind::UnknownArgument
Окружение
rust
Создан
2026-08-16T08:09:44Z

Контракт

  1. assert default values populate when environment variables and CLI arguments are omitted
  2. assert environment variable fallbacks populate fields when CLI flags are absent
  3. assert CLI options take strict precedence over environment variables
  4. assert empty string environment variable for integer fails with ValueValidation instead of falling back to default
  5. assert empty string environment variable for Option<String> resolves to Some("") rather than None
  6. assert default derive bool with env uses strict bool::from_str, rejecting 1, 0, yes, and no with InvalidValue
  7. assert BoolishValueParser resolves truthy and falsy strings including 1, 0, yes, no, on, off to boolean values
  8. assert global flags propagate across subcommands while non-global options placed after subcommands fail with UnknownArgument
  9. assert get_flag returns false for omitted SetTrue flag and panics when called on ArgAction::Set argument

Файлы

  • Cargo.lock
  • Cargo.toml
  • NOTES.md
  • csx.json
  • src/lib.rs
  • tests/contract.rs

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed