Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants