CodeSampleX

Beispiel

zerovec 0.11.6: zerovec::ZeroMap

Verifiziertes Beispiel für cargo zerovec 0.11.6: zerovec::ZeroMap. Der Vertrag lief auf rust 1 · linux alpine/x64 · docker und bestand.

sha256:7dd14bbceabb4166c1b692c90da3c1bac5162fc3605b57f8fe7170355e84b6e1

Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen. Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen. MIT-0

Ausführungsbelege

Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.

Beleggrundlage
Signierter Vertrag bestanden
Verifizierungsbelege
1
Signaturschlüssel, die es gebaut haben
1
Deklarierte Umgebung linux · alpine · musl x64 cargo

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
rust 1 · linux alpine/x64 · docker ed25519:c1973797be207ac4 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · cargo@1rust:1-alpine@sha256:a10e64dd139b…
2026-09-21

Fall

HOW
Ziel
verify zerovec::ZeroMap in pkg:cargo/zerovec@0.11.6
Pakete
Symbole
  • zerovec::ZeroMap
Erstellt
2026-09-21T12:01:16Z

Contract

  1. ZeroMap::new creates an empty map with len 0 and is_empty true
  2. ZeroMap::insert inserts key-value pairs maintaining binary-searchable sorted order
  3. ZeroMap::get retrieves values for existing keys and returns None for missing keys
  4. ZeroMap::contains_key accurately reports key membership
  5. ZeroMap::remove removes existing key-value pairs and returns previous value
  6. ZeroMap::try_append appends strictly increasing keys and rejects out-of-order keys
  7. ZeroMap::get_copied retrieves copied primitive values for fixed-size types

Dateien

  • Cargo.lock
  • Cargo.toml
  • PROMPT.md
  • csx.json
  • spec.json
  • src/lib.rs
  • test/contract.rs

Quellartefakt herunterladen (tar.gz)

Quelltext

Cargo.lock
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4

[[package]]
name = "proc-macro2"
version = "1.0.107"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
dependencies = [
 "unicode-ident",
]

[[package]]
name = "quote"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
dependencies = [
 "proc-macro2",
]

[[package]]
name = "sample-zerovec"
version = "1.0.0"
dependencies = [
 "zerovec",
]

[[package]]
name = "serde"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
dependencies = [
 "serde_core",
 "serde_derive",
]

[[package]]
name = "serde_core"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
dependencies = [
 "serde_derive",
]

[[package]]
name = "serde_derive"
version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [
 "proc-macro2",
 "quote",
 "syn",
]

[[package]]
name = "syn"
version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee"
dependencies = [
 "proc-macro2",
 "quote",
 "unicode-ident",
]

[[package]]
name = "unicode-ident"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954"

[[package]]
name = "zerofrom"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272"

[[package]]
name = "zerovec"
version = "0.11.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239"
dependencies = [
 "serde",
 "zerofrom",
]
Cargo.toml
[package]
name = "sample-zerovec"
version = "1.0.0"
edition = "2021"
publish = false

[dependencies]
zerovec = { version = "=0.11.6", features = ["alloc"] }

[[bin]]
name = "contract"
path = "test/contract.rs"
PROMPT.md
Clean-room public code sample — generation instructions

Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.

A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.

Goal: verify zerovec::ZeroMap in pkg:cargo/zerovec@0.11.6
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:cargo/zerovec@0.11.6
Demonstrate these symbols/APIs:
  - zerovec::ZeroMap

Rules:
  - One focused purpose; the smallest project that proves the goal.
  - Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
  - Pin every dependency with a lockfile so resolution is reproducible.
  - No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
  - No personal names, emails, company names, or project identifiers of any kind.
  - No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
  - Keep it under 200 files and 256KB packed.
csx.json
{"case":{"caseId":"case:sha256:7551080ca76b0893e1e99198d539123d228b16cbdef517742701cc8fb5922b54","contract":["ZeroMap::new creates an empty map with len 0 and is_empty true","ZeroMap::insert inserts key-value pairs maintaining binary-searchable sorted order","ZeroMap::get retrieves values for existing keys and returns None for missing keys","ZeroMap::contains_key accurately reports key membership","ZeroMap::remove removes existing key-value pairs and returns previous value","ZeroMap::try_append appends strictly increasing keys and rejects out-of-order keys","ZeroMap::get_copied retrieves copied primitive values for fixed-size types"],"goal":"verify zerovec::ZeroMap in pkg:cargo/zerovec@0.11.6","kind":"HOW","packages":["pkg:cargo/zerovec@0.11.6"],"schemaVersion":1,"symbols":["zerovec::ZeroMap"]},"contractCommand":["cargo","run","--offline"],"environment":{"arch":"x64","distro":"alpine","ecosystem":"cargo","libc":"musl","os":"linux","packageManager":"cargo","schemaVersion":1},"license":"MIT-0","packages":["pkg:cargo/zerovec@0.11.6"],"schemaVersion":1,"subject":"pkg:cargo/zerovec@0.11.6","symbols":["zerovec::ZeroMap"],"verifierAdapter":"cargo@1"}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify zerovec::ZeroMap in pkg:cargo/zerovec@0.11.6",
  "kind": "HOW",
  "packages": [
    "pkg:cargo/zerovec@0.11.6"
  ],
  "symbols": [
    "zerovec::ZeroMap"
  ]
}
src/lib.rs
//! Clean-room verification sample for zerovec.

pub use zerovec::*;
test/contract.rs
use zerovec::ule::AsULE;
use zerovec::ZeroMap;

fn main() {
    // 1. ZeroMap::new creates an empty map with len 0 and is_empty true
    let mut map: ZeroMap<u32, str> = ZeroMap::new();
    assert!(map.is_empty());
    assert_eq!(map.len(), 0);

    // 2. ZeroMap::insert inserts key-value pairs maintaining binary-searchable sorted order
    assert_eq!(map.insert(&10, "ten"), None);
    assert_eq!(map.insert(&30, "thirty"), None);
    assert_eq!(map.insert(&20, "twenty"), None);
    assert_eq!(map.len(), 3);
    assert!(!map.is_empty());
    let entries: Vec<(u32, &str)> = map.iter().map(|(k, v)| (u32::from_unaligned(*k), v)).collect();
    assert_eq!(entries, vec![(10, "ten"), (20, "twenty"), (30, "thirty")]);

    // 3. ZeroMap::get retrieves values for existing keys and returns None for missing keys
    assert_eq!(map.get(&10), Some("ten"));
    assert_eq!(map.get(&20), Some("twenty"));
    assert_eq!(map.get(&30), Some("thirty"));
    assert_eq!(map.get(&40), None);

    // 4. ZeroMap::contains_key accurately reports key membership
    assert!(map.contains_key(&10));
    assert!(map.contains_key(&20));
    assert!(map.contains_key(&30));
    assert!(!map.contains_key(&40));

    // 5. ZeroMap::remove removes existing key-value pairs and returns previous value
    let removed = map.remove(&20);
    assert_eq!(removed.as_deref(), Some("twenty"));
    assert_eq!(map.len(), 2);
    assert_eq!(map.get(&20), None);
    assert!(!map.contains_key(&20));

    // 6. ZeroMap::try_append appends strictly increasing keys and rejects out-of-order keys
    let mut append_map: ZeroMap<u32, str> = ZeroMap::new();
    assert!(append_map.try_append(&1, "one").is_none());
    assert!(append_map.try_append(&5, "five").is_none());
    assert!(append_map.try_append(&5, "duplicate").is_some());
    assert!(append_map.try_append(&2, "two").is_some());
    assert_eq!(append_map.len(), 2);
    assert_eq!(append_map.get(&1), Some("one"));
    assert_eq!(append_map.get(&5), Some("five"));
    assert_eq!(append_map.get(&2), None);

    // 7. ZeroMap::get_copied retrieves copied primitive values for fixed-size types
    let mut copied_map: ZeroMap<u32, u64> = ZeroMap::new();
    copied_map.insert(&1, &100);
    copied_map.insert(&2, &200);
    assert_eq!(copied_map.get_copied(&1), Some(100));
    assert_eq!(copied_map.get_copied(&2), Some(200));
    assert_eq!(copied_map.get_copied(&3), None);

    println!("All zerovec::ZeroMap contract assertions passed successfully.");
}

Ursprungs-Seeder

anonym