"fixedbugs/issue49767.go", // unified IR doesn't report channel element too large
"fixedbugs/issue49814.go", // unified IR doesn't report array type too large
"typeparam/issue50002.go", // pure stenciling leads to a static type assertion error
+ "typeparam/typeswitch1.go", // duplicate case failure due to stenciling
+ "typeparam/typeswitch2.go", // duplicate case failure due to stenciling
+ "typeparam/typeswitch3.go", // duplicate case failure due to stenciling
+ "typeparam/typeswitch4.go", // duplicate case failure due to stenciling
)
func setOf(keys ...string) map[string]bool {
println("int")
case int32, int16:
println("int32/int16")
- case struct { a, b T }:
+ case struct{ a, b T }:
println("struct{T,T}")
default:
println("other")
f[float64](float64(6))
f[float64](int(7))
f[float64](int32(8))
- f[float64](struct{a, b float64}{a:1, b:2})
+ f[float64](struct{ a, b float64 }{a: 1, b: 2})
f[float64](int8(9))
+ f[int32](int32(7))
+ f[int](int32(7))
}
int32/int16
struct{T,T}
other
+T
+int32/int16
f[float64](int32(8))
f[float64](struct{ a, b float64 }{a: 1, b: 2})
f[float64](int8(9))
+ f[int32](int32(7))
+ f[int](int32(7))
}
int32/int16 8
struct{T,T} +1.000000e+000 +2.000000e+000
other 9
+T 7
+int32/int16 7
package main
-type I interface { foo() int }
+type I interface{ foo() int }
type myint int
func (x myint) foo() int { return int(x) }
type myfloat float64
+
func (x myfloat) foo() int { return int(x) }
type myint32 int32
+
func (x myint32) foo() int { return int(x) }
func f[T I](i I) {
f[myfloat](myint(6))
f[myfloat](myfloat(7))
f[myfloat](myint32(8))
+ f[myint32](myint32(8))
+ f[myint32](myfloat(7))
+ f[myint](myint32(9))
}
myint 6
T 7
other 8
+T 8
+other 7
+other 9
package main
-type I interface { foo() int }
+type I interface{ foo() int }
type myint int
-func (x myint) foo() int {return int(x)}
+func (x myint) foo() int { return int(x) }
type myfloat float64
-func (x myfloat) foo() int {return int(x)}
+
+func (x myfloat) foo() int { return int(x) }
type myint32 int32
+
func (x myint32) foo() int { return int(x) }
func f[T I](i I) {
f[myfloat](myint(6))
f[myfloat](myfloat(7))
f[myfloat](myint32(8))
+ f[myint32](myint32(9))
+ f[myint](myint32(10))
+ f[myint](myfloat(42))
}
other 6
T/myint32 7
T/myint32 8
+T/myint32 9
+T/myint32 10
+other 42