CodeSampleX

Beispiel

anyhow 1.0.104: Downcast concrete error types and custom context through anyhow::Error without losing concrete types across Box trait object boundaries or Deref std::error::Error coercions

Verifiziertes Beispiel für cargo anyhow 1.0.104: Downcast concrete error types and custom context through anyhow::Error without losing concrete types across…

sha256:111c5fe00d1de4f527fc0ae3c444b12d048965ac957370eb4630a2a4a08b239f

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
2
Signaturschlüssel, die es gebaut haben
2
Deklarierte Umgebung rust linux x64 rust rust cargo

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
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

Fall

HOW
Ziel
Downcast concrete error types and custom context through anyhow::Error without losing concrete types across Box trait object boundaries or Deref std::error::Error coercions
Pakete
Symbole
  • anyhow::Error::downcast_ref
  • anyhow::Error::downcast_mut
  • anyhow::Error::downcast
  • anyhow::Error::from_boxed
  • anyhow::Error::is
  • anyhow::Context::context
Umgebung
rust
Erstellt
2026-08-16T07:54:47Z

Contract

  1. assert converting Box<dyn StdError> via from_boxed prevents recovering the concrete error with downcast_ref because TypeId tracks the boxed trait object
  2. assert converting a concrete StdError via From/into enables downcast_ref and is::<E>
  3. assert anyhow::Error::downcast_ref recursively searches through all attached context frames to find the root error
  4. assert std::error::Error::downcast_ref called via Deref on &dyn StdError fails on context-wrapped errors because std downcast does not traverse causes
  5. assert downcast_ref recovers custom context structs implementing Display and Debug even if they do not implement std::error::Error
  6. assert downcast_ref and downcast_mut on duplicate context types target the outermost most recently attached context frame
  7. assert downcast by value extracts the root error out of context layers, while mismatched downcast preserves the entire context chain intact
  8. assert context on Option None creates a root error with source None, whereas context on Result Err chains the previous error as source

Dateien

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

Quellartefakt herunterladen (tar.gz)

Ursprungs-Seeder

csx-seed