]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.typeparams] cmd/compile: fix bug with types2.Instantiate with interface type...
authorDan Scales <danscales@google.com>
Wed, 7 Jul 2021 19:03:41 +0000 (12:03 -0700)
committerDan Scales <danscales@google.com>
Wed, 7 Jul 2021 22:57:23 +0000 (22:57 +0000)
types2.subst has an assertion that check is non-nil, but which breaks
Instantiate() with an interface type param (used when re-importing
instatiated type to types2). But this check was added when Instantiate()
was added, and things seem to work fine when the assertion is removed.

Fixes test/typeparam/mdempsky/7.go.

Change-Id: I4980f0b202a0b310a3c91a7a87f97576f54911de
Reviewed-on: https://go-review.googlesource.com/c/go/+/333155
Run-TryBot: Dan Scales <danscales@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
Trust: Dan Scales <danscales@google.com>

src/cmd/compile/internal/types2/subst.go
test/run.go

index db01c36f7ad964ff936cd6e870dff4cbab9d687b..7b4796fa2ebada79ce51c6c5e4a23b06893d7873 100644 (file)
@@ -313,9 +313,6 @@ func (subst *subster) typ(typ Type) Type {
                embeddeds, ecopied := subst.typeList(t.embeddeds)
                if mcopied || ecopied {
                        iface := &Interface{methods: methods, embeddeds: embeddeds, complete: t.complete}
-                       if subst.check == nil {
-                               panic("internal error: cannot instantiate interfaces yet")
-                       }
                        return iface
                }
 
index 713e2006dc0ff27bd71e056192e70c7e23b2a2bc..0251dc1c6a474680fb56b06b010228da5b81a2d0 100644 (file)
@@ -2209,7 +2209,6 @@ var g3Failures = setOf(
        "typeparam/mdempsky/3.go",
        "typeparam/mdempsky/4.go",
        "typeparam/mdempsky/5.go",
-       "typeparam/mdempsky/7.go",
        "typeparam/mdempsky/9.go",
        "typeparam/mdempsky/11.go",
        "typeparam/mdempsky/12.go",