Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

panics when encountering generics #60

Closed
anacrolix opened this issue Dec 17, 2021 · 2 comments
Closed

panics when encountering generics #60

anacrolix opened this issue Dec 17, 2021 · 2 comments

Comments

@anacrolix
Copy link

The branch is tidwall-piece-request-order if you want to reproduce. Cheers

anacrolix@anacrolix-mbp-2018:~/go/src/github.com/anacrolix/torrent$ unparam .
panic: no concrete method: func (*github.com/tidwall/btree.BTree[github.com/anacrolix/torrent/request-strategy.pieceRequestOrderItem]).Ascend(pivot github.com/anacrolix/torrent/request-strategy.pieceRequestOrderItem, iter func(item github.com/anacrolix/torrent/request-strategy.pieceRequestOrderItem) bool)

goroutine 2630 [running]:
golang.org/x/tools/go/ssa.(*Program).declaredFunc(0xc000403d40, 0xc000526780)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:124 +0xf9
golang.org/x/tools/go/ssa.(*Program).addMethod(0x12ee198?, 0xc001fb7380, 0xc001fc41e0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:86 +0x14a
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee198?, 0xc001181600?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:173 +0x785
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee210?, 0xc001252180?}, 0x1)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:228 +0x669
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee170?, 0xc001192e00?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:221 +0x588
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee198?, 0xc00102ba90?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:193 +0x307
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee148?, 0xc0010a3c60?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:203 +0x3a6
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee210?, 0xc000f47f80?}, 0x1)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:228 +0x669
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee170?, 0xc001413280?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:221 +0x588
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee198?, 0xc00155da60?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:193 +0x307
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee238?, 0xc000ff8e28?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:233 +0x708
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee198?, 0xc000d81390?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:181 +0x1af
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee238?, 0xc0013f3e78?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:233 +0x708
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee198?, 0xc000d814c0?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:181 +0x1af
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee238?, 0xc0013f3fe0?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:233 +0x708
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee198?, 0xc0007be730?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:182 +0x1ce
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee210?, 0xc0010f8300?}, 0x1)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:228 +0x669
golang.org/x/tools/go/ssa.(*Program).needMethods(0xc000403d40, {0x12ee170?, 0xc000f2f400?}, 0x0)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:221 +0x588
golang.org/x/tools/go/ssa.(*Program).needMethodsOf(0xc000403d40, {0x12ee170?, 0xc000f2f400?})
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/methods.go:145 +0x70
golang.org/x/tools/go/ssa.(*Package).build(0xc001e2c120)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/builder.go:2281 +0x111
sync.(*Once).doSlow(0xc00095ffb8?, 0x11ef62c?)
	/Users/anacrolix/src/go.master/src/sync/once.go:68 +0xc2
sync.(*Once).Do(...)
	/Users/anacrolix/src/go.master/src/sync/once.go:59
golang.org/x/tools/go/ssa.(*Package).Build(...)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/builder.go:2269
golang.org/x/tools/go/ssa.(*Program).Build.func1(0x0?)
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/builder.go:2253 +0x4c
created by golang.org/x/tools/go/ssa.(*Program).Build
	/Users/anacrolix/go/pkg/mod/golang.org/x/tools@v0.1.8/go/ssa/builder.go:2252 +0x19c
@ainar-g
Copy link
Contributor

ainar-g commented Dec 18, 2021

@anacrolix, golang/x/tools, the official module that a lot of Go tools use, doesn't support type parameters yet. See golang/go#48525.

@mvdan
Copy link
Owner

mvdan commented Dec 18, 2021

Indeed, not much we can do here - this is a panic in x/tools/go/ssa.

@mvdan mvdan closed this as completed Dec 18, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants