Beispiel
Disambiguate multiple transformers and comparers across struct fields using cmp.FilterPath without runtime panics
sha256:71155813964a920c4a9e17aa63c077fc7b9a55c7cb8c3785b9eed91050633c1c
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
- gomod
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- gomod
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Disambiguate multiple transformers and comparers across struct fields using cmp.FilterPath without runtime panics HOW
- Pakete
-
github.com/google/go-cmp 0.7.0
- Umgebung
- go
- Erstellt
- 2026-08-17T10:42:16Z
Häufige Annahme
Passing multiple cmp.Transformer or cmp.Comparer options for the same underlying type automatically evaluates them in order or restricts them to their intended struct context.
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 cmp.Diff panics with ambiguous set of applicable options when multiple transformers or comparers target the same type without path filters
- assert grouping conflicting transformers inside a cmp.Options slice does not bypass option ambiguity
- assert cmp.Comparer and cmp.Transformer panic at construction time when provided invalid function signatures
- assert cmp.FilterPath successfully scopes field transformations to specific struct paths without triggering ambiguity panics
- assert overlapping cmp.FilterPath predicates matching the same path panic at comparison time
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- transform.go
- transform_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