]> Cypherpunks.ru repositories - gostls13.git/blob - src/internal/types/testdata/fixedbugs/issue46461a.go
go/types, types2: introduce _Alias type node
[gostls13.git] / src / internal / types / testdata / fixedbugs / issue46461a.go
1 // -alias
2
3 // Copyright 2021 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
6
7 package p
8
9 // test case 1
10 type T /* ERROR "invalid recursive type" */ [U interface{ M() T[U] }] int
11
12 type X int
13
14 func (X) M() T[X] { return 0 }
15
16 // test case 2
17 type A /* ERROR "invalid recursive type" */ [T interface{ A[T] }] interface{}
18
19 // test case 3
20 // TODO(gri) should report error only once
21 type A2 /* ERROR "invalid recursive type" */ /* ERROR "invalid recursive type" */ [U interface{ A2[U] }] interface{ M() A2[U] }
22
23 type I interface{ A2[I]; M() A2[I] }