go cmd/compile: 产生"无效语法树"错误的程序

qoefvg9y  于 2个月前  发布在  Go
关注(0)|答案(2)|浏览(27)
package main

func main() {
	var value = new(Demo)
	UseFunc[value.(type)]()
}

type Demo struct{}

func UseFunc[T any]() {}

produces 3 errors :

./prog.go:4:6: value declared and not used
./prog.go:5:10: value.(type) is not a type
./prog.go:5:10: invalid syntax tree: use of .(type) outside type switch

仅应呈现第二个错误。
来自 #58608

hec6srdp

hec6srdp1#

https://go.dev/cl/470015提到了这个问题:go/types, types2: avoid unused variable error in invalid x.(type) expression

n3schb8v

n3schb8v2#

上述CL将后续错误数量减少到1(总共2个错误)。目前足够好了。将其标记为待办事项。

相关问题