CodeSampleX

Пример

semver 1.0.28: Evaluate Cargo semver bare requirement caret defaulting, prerelease tuple isolation, zero-version breaking bounds, and build metadata equality

Проверенный пример — cargo semver 1.0.28: Evaluate Cargo semver bare requirement caret defaulting, prerelease tuple isolation, zero-version breaking bounds…

sha256:b979dab7a5d51fa64903ed732962f3498ca88091a70e52792d77687af65070fd

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. 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-17
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
Цель
Evaluate Cargo semver bare requirement caret defaulting, prerelease tuple isolation, zero-version breaking bounds, and build metadata equality
Пакеты
Символы
  • semver::VersionReq
  • semver::Version
  • semver::Comparator
  • semver::Op
Окружение
rust
Создан
2026-08-17T02:34:02Z

Контракт

  1. assert bare requirement 1.2.3 defaults to caret ^1.2.3 accepting 1.2.4 and 1.3.0 while rejecting 2.0.0
  2. assert ^0.2.3 rejects 0.3.0 and ^0.0.3 rejects 0.0.4 because zero-major releases treat minor/patch as breaking
  3. assert ~0.0.3 accepts 0.0.4 making tilde looser than caret for zero-major zero-minor ranges
  4. assert wildcard * matches all stable versions but rejects prereleases like 1.0.0-alpha.1
  5. assert >=1.2.3-alpha.1 accepts 1.2.3-alpha.2 and 1.2.4 but rejects 1.2.4-alpha.1 due to Cargo tuple isolation
  6. assert Rust Version struct Eq and Ord differentiate build metadata whereas VersionReq matches ignores it
  7. assert leading zeros are forbidden in numeric prerelease identifiers but allowed in build metadata

Файлы

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

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

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

csx-seed