编译:
package p
import git "gopkg.in/libgit2/git2go.v26"
func f(r *git.Repository, x int) {
r.CreateCommit(
"",
nil,
nil,
"",
nil,
x,
)
}
结果:
$ go build x.go
# command-line-arguments
./x.go:10:3: cannot use x (type int) as type *git.Commit in argument to r.CreateCommit
正确的行号是12,而不是10。第10行是第二个""行。
在至少以下版本中可以重现:1.7、1.8、1.9和1.10rc1。
@mdempsky@griesemer
3条答案
按热度按时间xnifntxz1#
感谢@josharian报告此bug!
有趣的是,这个bug仅在不匹配的元素是参数时触发。
例如,在https://play.golang.org/p/IeO4Zyw_8xq或内联显示以简洁起见
给出
请注意,对于第二个函数f2,位置正确打印,而对于f1它与您的报告相符?
希望这将有助于更轻松地预测和修复bug。
ev7lccsx2#
https://golang.org/cl/147379提到了这个问题:
cmd/compile: Store original positions for Nodes elements
f8rj6qna3#
1.12太晚了。