サンプル
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
- OS
- linux
- アーキテクチャ
- x64
- ランタイム
- go
- 言語
- go
- パッケージマネージャー
- gomod
検証実行環境
- 実行コンテキスト
- go 1.26
- OS
- linux alpine · musl
- アーキテクチャ
- x64
- ランタイム
- go 1.26
- 言語
- go
- パッケージマネージャー
- gomod
- 実行方式
- container · docker
- 実行コンテキスト
- go 1.26
- OS
- linux alpine · musl
- アーキテクチャ
- x64
- ランタイム
- go 1.26
- 言語
- go
- パッケージマネージャー
- gomod
- 実行方式
- container · docker
ケース
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
コントラクト
- 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
ファイル
- NOTES.md
- csx.json
- errorcmp.go
- errorcmp_test.go
- go.mod
- go.sum
オリジンシーダー
検証レシート
-
go 1.26 · linux alpine/x64 · docker PASSed25519:d91480838ac982c9
-
go 1.26 · linux alpine/x64 · docker PASSed25519:2175b912ea1c23b1