Beispiel
Unmarshal YAML documents into yaml.Node AST where top-level mappings are wrapped in a DocumentNode and mapping entries are stored as a flat slice of alternating key and value nodes.
sha256:5a3c517c14c2b02913bd1dddf4ceb354fa20a12daf9bd8874291fdb094b5e78b
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- go
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- go
- Sprache
- go
- Paketmanager
- go
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- go
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Unmarshal YAML documents into yaml.Node AST where top-level mappings are wrapped in a DocumentNode and mapping entries are stored as a flat slice of alternating key and value nodes. HOW
- Pakete
-
gopkg.in/yaml.v3 v3.0.1
- Umgebung
- go
- Erstellt
- 2026-08-17T20:57:24Z
Häufige Annahme
Unmarshaling a YAML mapping directly into *yaml.Node produces a MappingNode whose Content slice holds child values.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- yaml.Unmarshal into *yaml.Node produces a root DocumentNode with Kind 1 whose Content slice wraps the top-level MappingNode (Kind 4) at index 0 rather than returning a MappingNode directly.
- MappingNode.Content is a flat slice of 2*N nodes where even indices hold key scalar nodes and odd indices hold value nodes.
- HeadComment annotations attach to key nodes while inline LineComment annotations attach to value nodes.
- yaml.Node.Decode decodes AST subtrees directly into Go struct types.
- In-place AST scalar modifications preserve HeadComment and LineComment annotations across yaml.Encoder serialization.
- Types implementing UnmarshalYAML(value *yaml.Node) receive AST position metadata (Line and Column) and can decode underlying values via value.Decode.
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- yaml_test.go
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9