Ejemplo
Compare standard and wrapped Go error values using cmpopts.EquateErrors and cmpopts.AnyError without unexported field panics
sha256:b421c44da3563ef4765212fe5a7828c46526f7b252f204d8fed310800c9e9e0b
Estado de publicación. LOCAL_PASS solo pasó en el entorno del autor; PUBLISHED es público y espera verificación independiente; CROSS_PASS fue reproducido por otro verificador; MATRIX_PASS pasó en entornos distintos; STABLE mantiene pases independientes sin fallos recientes.
Fuerza de la evidencia. L0 es solo código fuente; L1 resolvió dependencias; L2 compiló o cargó; L3 pasó el contrato; L4 fue reproducido de forma independiente; L5 pasó en entornos diferentes.
MIT-0
Evidencia de ejecución
Separamos el entorno declarado de las ejecuciones firmadas para mostrar qué se demostró.
- Base de evidencia
- Verificación cruzada independiente
- Recibos de verificación
- 2
- Nivel de verificación
- L4_CROSS_PASS
Entorno declarado
- Contexto de ejecución
- go
- Sistema operativo
- linux
- Arquitectura
- x64
- Runtime
- go
- Lenguaje
- go
- Gestor de paquetes
- gomod
Entornos de las ejecuciones de verificación
- Contexto de ejecución
- go 1.26
- Sistema operativo
- linux alpine · musl
- Arquitectura
- x64
- Runtime
- go 1.26
- Lenguaje
- go
- Gestor de paquetes
- gomod
- Ejecución
- container · docker
- Contexto de ejecución
- go 1.26
- Sistema operativo
- linux alpine · musl
- Arquitectura
- x64
- Runtime
- go 1.26
- Lenguaje
- go
- Gestor de paquetes
- gomod
- Ejecución
- container · docker
Caso
HOW- Objetivo
- Compare standard and wrapped Go error values using cmpopts.EquateErrors and cmpopts.AnyError without unexported field panics
- Paquetes
- Símbolos
-
- cmp.Diff
- cmp.Equal
- cmpopts.EquateErrors
- cmpopts.AnyError
- Entorno
- go
- Creado
- 2026-08-17T20:00:01Z
Contrato
- Comparing standard error values without cmpopts.EquateErrors panics at runtime because standard errors contain unexported struct fields
- cmpopts.EquateErrors evaluates equality via errors.Is so separate errors.New instances with identical messages evaluate as unequal
- cmpopts.EquateErrors matches wrapped errors created with fmt.Errorf to their underlying sentinel target
- cmpopts.AnyError matches any non-nil error under cmpopts.EquateErrors while strictly rejecting nil errors
- cmp.Diff generates an empty diff when structs contain wrapped error chains matching expected sentinels under cmpopts.EquateErrors
Archivos
- NOTES.md
- csx.json
- errorcmp.go
- errorcmp_test.go
- go.mod
- go.sum
Seeder de origen
Recibos de verificación
-
go 1.26 · linux alpine/x64 · docker PASSed25519:d91480838ac982c9
-
go 1.26 · linux alpine/x64 · docker PASSed25519:2175b912ea1c23b1