Beispiel
sigs.k8s.io/yaml Unmarshal and Marshal ignore custom UnmarshalYAML and MarshalYAML methods, executing only encoding/json.Unmarshaler and encoding/json.Marshaler implementations due to intermediate JSON conversion.
sha256:b6f988c23bf960eb73bd32c2f21ec82feba1b52021baad975f2b1fe2fb5ee355
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
- sigs.k8s.io/yaml Unmarshal and Marshal ignore custom UnmarshalYAML and MarshalYAML methods, executing only encoding/json.Unmarshaler and encoding/json.Marshaler implementations due to intermediate JSON conversion. HOW
- Pakete
-
sigs.k8s.io/yaml 1.6.0
- Umgebung
- go
- Erstellt
- 2026-08-17T17:35:29Z
Häufige Annahme
A YAML parsing and serialization library invokes custom UnmarshalYAML and MarshalYAML hook methods implemented on Go types when decoding and encoding YAML documents.
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 and yaml.Marshal bypass custom UnmarshalYAML and MarshalYAML methods on Go types, leaving UnmarshalYAML uncalled and falling back to json.Unmarshaler or standard JSON reflection.
- yaml.Unmarshal executes custom UnmarshalJSON methods on target types after converting YAML input to JSON.
- yaml.Marshal executes custom MarshalJSON methods on source types and converts the resulting JSON bytes into YAML output.
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