diff --git a/go/internal/gccgoimporter/parser_test.go b/go/internal/gccgoimporter/parser_test.go index 427d943c..a6f5edab 100644 --- a/go/internal/gccgoimporter/parser_test.go +++ b/go/internal/gccgoimporter/parser_test.go @@ -47,6 +47,11 @@ func TestTypeParser(t *testing.T) { t.Errorf("expected full parse, stopped at %q", p.lit) } + // interfaces must be explicitly completed + if ityp, _ := typ.(*types.Interface); ityp != nil { + ityp.Complete() + } + got := typ.String() if got != test.want { t.Errorf("got type %q, expected %q", got, test.want) diff --git a/go/ssa/builder.go b/go/ssa/builder.go index 9390c398..44abc5b2 100644 --- a/go/ssa/builder.go +++ b/go/ssa/builder.go @@ -58,7 +58,7 @@ var ( tString = types.Typ[types.String] tUntypedNil = types.Typ[types.UntypedNil] tRangeIter = &opaqueType{nil, "iter"} // the type of all "range" iterators - tEface = new(types.Interface) + tEface = types.NewInterface(nil, nil).Complete() // SSA Value constants. vZero = intConst(0)