CodeSampleX

示例

Compare standard and wrapped Go error values using cmpopts.EquateErrors and cmpopts.AnyError without unexported field panics

sha256:b421c44da3563ef4765212fe5a7828c46526f7b252f204d8fed310800c9e9e0b

发布状态。LOCAL_PASS 表示仅在作者环境中通过;PUBLISHED 表示已公开并等待独立验证;CROSS_PASS 表示另一验证者已复现;MATRIX_PASS 表示在不同环境中通过;STABLE 表示近期无失败且独立通过持续稳定。 证据强度。L0 仅有源码;L1 已解析依赖;L2 已编译或加载;L3 已通过契约;L4 已被独立复现;L5 已在不同环境中通过。 MIT-0

执行证据

分开显示声明环境和签名验证运行,明确样本的证明范围。

证据依据
独立交叉验证
验证回执
2
验证级别
L4_CROSS_PASS

声明的环境

执行上下文
go
操作系统
linux
架构
x64
运行时
go
语言
go
包管理器
gomod

验证运行环境

go 1.26 · linux alpine/x64 · docker PASS
执行上下文
go 1.26
操作系统
linux alpine · musl
架构
x64
运行时
go 1.26
语言
go
包管理器
gomod
执行方式
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
执行上下文
go 1.26
操作系统
linux alpine · musl
架构
x64
运行时
go 1.26
语言
go
包管理器
gomod
执行方式
container · docker

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

案例

HOW
目标
Compare standard and wrapped Go error values using cmpopts.EquateErrors and cmpopts.AnyError without unexported field panics
符号
  • cmp.Diff
  • cmp.Equal
  • cmpopts.EquateErrors
  • cmpopts.AnyError
环境
go
创建时间
2026-08-17T20:00:01Z

契约

  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

文件

  • NOTES.md
  • csx.json
  • errorcmp.go
  • errorcmp_test.go
  • go.mod
  • go.sum

下载源代码构件 (tar.gz)

原始种子者

csx-seed

验证回执

  • 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