Пример
displaydoc 0.2.7
Проверенный пример — cargo displaydoc 0.2.7. Контракт выполнен на rust 1 · linux alpine/x64 · docker и пройден: Display derive formats enum unit variants…
sha256:670cd104b41a254b8472dc5f93fbb47342b9984724707847dbf13332cb1c8af9
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 1
- Ключи подписи, собравшие его
- 1
Заявленная среда
linux · alpine · musl x64 cargo
Среды запусков проверки
| Окружение | Контракт | Этапы | Запуск |
|---|---|---|---|
| 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-19 |
Кейс
HOW- Цель
- verify pkg:cargo/displaydoc@0.2.7
- Пакеты
- Создан
- 2026-09-18T13:09:28Z
Контракт
- Display derive formats enum unit variants using doc comments
- Display derive formats positional tuple fields using {0} and {1:?}
- Display derive formats named struct variant fields using {field}
- Display derive formats structs and tuple structs using doc comments
- prefix_enum_doc_attributes combines enum doc comment with variant doc comments
- displaydoc attribute overrides doc comment on struct or enum variant
- Display derive works with generic structs without explicit Display bounds on definition
Файлы
- Cargo.lock
- Cargo.toml
- PROMPT.md
- csx.json
- spec.json
- src/lib.rs
- test/contract.rs
Исходный код
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "displaydoc"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[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-displaydoc"
version = "1.0.0"
dependencies = [
"displaydoc",
]
[[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 = "sample-displaydoc"
version = "1.0.0"
edition = "2021"
publish = false
[dependencies]
displaydoc = "=0.2.7"
[[bin]]
name = "contract"
path = "test/contract.rs"
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 pkg:cargo/displaydoc@0.2.7
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:cargo/displaydoc@0.2.7
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.
{"case":{"caseId":"case:sha256:5f426b9815b5e9f4e50118edf2983557414f0601cdb030d94ef7657997178c29","contract":["Display derive formats enum unit variants using doc comments","Display derive formats positional tuple fields using {0} and {1:?}","Display derive formats named struct variant fields using {field}","Display derive formats structs and tuple structs using doc comments","prefix_enum_doc_attributes combines enum doc comment with variant doc comments","displaydoc attribute overrides doc comment on struct or enum variant","Display derive works with generic structs without explicit Display bounds on definition"],"goal":"verify pkg:cargo/displaydoc@0.2.7","kind":"HOW","packages":["pkg:cargo/displaydoc@0.2.7"],"schemaVersion":1},"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/displaydoc@0.2.7"],"schemaVersion":1,"subject":"pkg:cargo/displaydoc@0.2.7","verifierAdapter":"cargo@1"}
{
"schemaVersion": 1,
"goal": "verify pkg:cargo/displaydoc@0.2.7",
"kind": "HOW",
"packages": [
"pkg:cargo/displaydoc@0.2.7"
]
}
//! Clean-room verification sample for displaydoc.
pub use displaydoc::*;
use displaydoc::Display;
/// Simple error enum for testing
#[derive(Display, Debug, PartialEq)]
pub enum SimpleError {
/// An unknown error occurred
Unknown,
/// Failed with code: {0} (details: {1:?})
WithCode(u32, &'static str),
/// Key {key} not found in scope {scope}
MissingKey { key: String, scope: &'static str },
}
/// Service error
#[derive(Display, Debug, PartialEq)]
#[prefix_enum_doc_attributes]
pub enum ServiceError {
/// connection timed out
Timeout,
/// unauthorized access: {0}
Unauthorized(&'static str),
}
/// Point at ({x}, {y})
#[derive(Display, Debug, PartialEq)]
pub struct Point {
pub x: i32,
pub y: i32,
}
/// Container holding {0}
#[derive(Display, Debug, PartialEq)]
pub struct Container(pub &'static str);
/// Wrapped value: {0}
#[derive(Display, Debug, PartialEq)]
pub struct Wrapper<T>(pub T);
/// Original doc comment that gets overridden
#[derive(Display, Debug, PartialEq)]
#[displaydoc("Overridden display message: {code}")]
pub struct Overridden {
pub code: u32,
}
fn main() {
// 1. Display derive formats enum unit variants using doc comments
let err_unknown = SimpleError::Unknown;
assert_eq!(format!("{}", err_unknown), "An unknown error occurred");
// 2. Display derive formats positional tuple fields using {0} and {1:?}
let err_code = SimpleError::WithCode(404, "not found");
assert_eq!(format!("{}", err_code), "Failed with code: 404 (details: \"not found\")");
// 3. Display derive formats named struct variant fields using {field}
let err_missing = SimpleError::MissingKey {
key: "api_key".to_string(),
scope: "auth",
};
assert_eq!(
format!("{}", err_missing),
"Key api_key not found in scope auth"
);
// 4. Display derive formats structs and tuple structs using doc comments
let point = Point { x: 10, y: 20 };
assert_eq!(format!("{}", point), "Point at (10, 20)");
let container = Container("item");
assert_eq!(format!("{}", container), "Container holding item");
// 5. prefix_enum_doc_attributes combines enum doc comment with variant doc comments
let svc_timeout = ServiceError::Timeout;
assert_eq!(format!("{}", svc_timeout), "Service error: connection timed out");
let svc_unauth = ServiceError::Unauthorized("admin");
assert_eq!(format!("{}", svc_unauth), "Service error: unauthorized access: admin");
// 6. displaydoc attribute overrides doc comment on struct or enum variant
let overridden = Overridden { code: 500 };
assert_eq!(format!("{}", overridden), "Overridden display message: 500");
// 7. Display derive works with generic structs without explicit Display bounds on definition
let wrapper_str = Wrapper("hello world");
assert_eq!(format!("{}", wrapper_str), "Wrapped value: hello world");
let wrapper_int = Wrapper(12345);
assert_eq!(format!("{}", wrapper_int), "Wrapped value: 12345");
println!("All displaydoc contract assertions passed successfully.");
}
Исходный сидер
аноним