Beispiel
Configure YAML decoding with yaml.AllowDuplicateMapKey to permit duplicate mapping keys and retain the latest value instead of failing with a syntax error
sha256:5dac961373b18c0b0dbf6de249512818668244b0f0d0efae8f309c2f73f303de
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
- Configure YAML decoding with yaml.AllowDuplicateMapKey to permit duplicate mapping keys and retain the latest value instead of failing with a syntax error HOW
- Pakete
-
github.com/goccy/go-yaml v1.19.2
- Umgebung
- go
- Erstellt
- 2026-08-17T14:04:27Z
Häufige Annahme
yaml.Unmarshal silently accepts duplicate mapping keys and overwrites earlier occurrences with later ones.
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
- assert yaml.Unmarshal rejects duplicate mapping keys with a SyntaxError by default, leaving destination values empty
- assert yaml.UnmarshalWithOptions with yaml.AllowDuplicateMapKey succeeds and retains the latest key value in document order
- assert yaml.NewDecoder with yaml.AllowDuplicateMapKey succeeds on streaming readers with duplicate mapping keys
- assert yaml.AllowDuplicateMapKey applies identically to nested struct fields and map targets
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- yaml_duplicate_key_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