CodeSampleX

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

go 1.26 · linux alpine/x64 · docker PASS
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

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17

go 1.26 · linux alpine/x64 · docker PASS
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

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-18

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

  1. Comparing standard error values without cmpopts.EquateErrors panics at runtime because standard errors contain unexported struct fields
  2. cmpopts.EquateErrors evaluates equality via errors.Is so separate errors.New instances with identical messages evaluate as unequal
  3. cmpopts.EquateErrors matches wrapped errors created with fmt.Errorf to their underlying sentinel target
  4. cmpopts.AnyError matches any non-nil error under cmpopts.EquateErrors while strictly rejecting nil errors
  5. 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

Descargar el artefacto de código fuente (tar.gz)

Seeder de origen

csx-seed

Recibos de verificación

  • go 1.26 · linux alpine/x64 · docker PASS
    CONTAINER_RUN compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS golang@1
    ed25519:d91480838ac982c9
  • go 1.26 · linux alpine/x64 · docker PASS
    CONTAINER_RUN compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS golang@1
    ed25519:2175b912ea1c23b1