x/tools/gopls: infinite recursion, crash when presented with a recursively defined type #36637
Labels
FrozenDueToAge
gopls
Issues related to the Go language server, gopls.
Tools
This label describes issues relating to any tools in the x/tools repository.
Milestone
I'm using govim with x/tools/gopls at 0cba7a3.
This crash seems easy to reproduce. For instance, I created a new file in an empty package and then typed this in:
and then, at the end (where the receiver type goes, after I'd already typed
d
), I triggered completion and gopls crashed.Here's an excerpt from the govim log:
The code is bouncing between the first and last line in the highlighted range in the
typeIsValid
function here:https://github.com/golang/tools/blob/0cba7a3a9ee9d9a5917ed56b9668e7ad35eaa571/internal/lsp/source/util.go#L330-L333
That function was added in CL 210357, though I don't know if the underlying issue existed before.
/cc @quasilyte @stamblerre
The text was updated successfully, but these errors were encountered: