From fceca2c0f1ff21e1b2b0bf9960b776bb08e58d86 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Tue, 16 Nov 2021 17:30:47 -0800 Subject: [PATCH] cmd/compile/internal/types2: add a test for argument error unwrapping This CL is a clean port of CL 351338 from go/types to types2. Change-Id: I7fd0e5a447bf51cb359e71731c2f9b95e3960da6 Reviewed-on: https://go-review.googlesource.com/c/go/+/364536 Trust: Robert Griesemer Reviewed-by: Robert Findley --- src/cmd/compile/internal/types2/api_test.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/cmd/compile/internal/types2/api_test.go b/src/cmd/compile/internal/types2/api_test.go index 7ec1063843..ca90e6b97d 100644 --- a/src/cmd/compile/internal/types2/api_test.go +++ b/src/cmd/compile/internal/types2/api_test.go @@ -2014,6 +2014,20 @@ func TestInstantiateErrors(t *testing.T) { } } +func TestArgumentErrorUnwrapping(t *testing.T) { + var err error = &ArgumentError{ + Index: 1, + Err: Error{Msg: "test"}, + } + var e Error + if !errors.As(err, &e) { + t.Fatalf("error %v does not wrap types.Error", err) + } + if e.Msg != "test" { + t.Errorf("e.Msg = %q, want %q", e.Msg, "test") + } +} + func TestInstanceIdentity(t *testing.T) { imports := make(testImporter) conf := Config{Importer: imports} -- 2.50.0