go/types, types2: 当完全示例化时,函数调用缺少参数的记录示例化类型,

pbwdgjma  于 5个月前  发布在  Go
关注(0)|答案(3)|浏览(67)

CL 394017中由@muirdm创建的类型检查器,如果缺少参数,即使提供了所有必要的类型参数,也会记录被调用函数的泛型类型,如下所示:

func foo[A int|string](a A) {}

foo[int]() // recorded function type is still func[A int|string](A), even though it should be known to be func(int)

示例:https://go.dev/play/p/xBmccoNdCK_Y
这可能是一个低优先级的问题(因此没有添加1.19里程碑),但在我们改进类型推断的过程中清理它会很好。
CC @griesemer

xurqigkl

xurqigkl1#

https://go.dev/cl/400614提到了这个问题:lsp/completion: further improve generic func arg ranking

mqxuamgl

mqxuamgl2#

https://go.dev/cl/403354提到了这个问题:guru: Add a TODO list to the guru cmd.

2hh7jdfx

2hh7jdfx3#

https://go.dev/cl/403355提到了这个问题:passes/unusedwrites: Add TODO for how to handle generics.

相关问题