샘플
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 · musl
- 아키텍처
- x64
- 런타임
- go 1.26
- 언어
- go
- 패키지 매니저
- gomod
- 실행 방식
- container · docker
- 실행 컨텍스트
- go 1.26
- 운영체제
- 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