Alan Donovan
Alan Donovan
This looks like a real data race in the the way gopls invokes the type checker. @findleyr
This latest batch of flakes is unrelated to this issue (not a data race); I have refined the watchflakes predicate. I'll split them into a separate issue (https://github.com/golang/go/issues/70187).
This looks legit: ``` panic: send on closed channel goroutine 55729 [running]: golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream.func2() /Users/swarming/.swarming/w/ir/x/w/targetrepo495829232/gopls/internal/lsprpc/lsprpc.go:116 +0x44 golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream(0x14014eabf50, {0x105dddc70, 0x14015566330}, {0x105de2648, 0x1400c22e370}) /Users/swarming/.swarming/w/ir/x/w/targetrepo495829232/gopls/internal/lsprpc/lsprpc.go:130 +0x780 created by golang.org/x/tools/internal/jsonrpc2/servertest.(*PipeServer).Connect in goroutine 332 /Users/swarming/.swarming/w/ir/x/w/targetrepo495829232/internal/jsonrpc2/servertest/servertest.go:84 +0x15c...
If/when this proposal is accepted, we should add links to the statement of the new policy from the [Go 1 compatibility promise](https://go.dev/doc/go1compat) and from the [Go release policy](https://go.dev/doc/devel/release#policy), to ensure...
> An example of disruptive forced upgrade is x/tools 0.25 which suddenly jumped form go 1.19 to go 1.22(.0) for seemingly no "need" It might appear that there was no...
This appears to be a recent regression caused by https://go.dev/cl/597675.
I've been trying all week to come up with a good repro for this, but to no avail. What I have found is that it consistently crashes in an if-statement...
Yay, I have a deterministic repro of the crash using the gopls CLI. Unfortunately the file is very large and nonpublic so I will need to bisect it down a...
OK, I reduced it from about 2000 lines to around 1KB by manual bisection and some lucky guesses. (The result is a total mess, but that's not the point.) Write...
The issue seems to be that, although the outer CompositeLit has a type of Invalid recorded for it, the type checker is not descending into the inner literal and recording...