compiler: add regression test for generic methods in interfaces

Add compiler/testdata/go1.27.go, gated behind Go >= 1.27 (the version
that promoted generic methods out of the GenericMethods experiment),
covering both fixes from the previous two commits:

  - genericMethod has a regular method and a generic method (its own
    type parameter); boxing it into an interface must only include the
    regular method in the runtime method set instead of panicking in
    getTypeCodeName.
  - onlyGenericMethod's sole method is generic, so its type code must
    have hasMethodSet == false and no methodSet field at all, not an
    empty one.

Verified this test panics on the pre-fix compiler/interface.go and
passes after it.
This commit is contained in:
Damian Gryski
2026-07-22 13:24:53 -07:00
committed by Ron Evans
parent 1e3baff966
commit 2a49216152
3 changed files with 94 additions and 0 deletions
+3
View File
@@ -60,6 +60,9 @@ func TestCompiler(t *testing.T) {
if goMinor >= 21 {
tests = append(tests, testCase{"go1.21.go", "", ""})
}
if goMinor >= 27 {
tests = append(tests, testCase{"go1.27.go", "", ""})
}
for _, tc := range tests {
name := tc.file