Skip to content

x/tools/gopls: another crash in RenderPackageDoc's use of NewSignatureType #67294

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

Closed
adonovan opened this issue May 10, 2024 · 1 comment
Closed
Assignees
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

Comments

@adonovan
Copy link
Member

Minutes after fixing #67287, I noticed a second panic in RenderPackageDoc's use of NewSignatureType. The fundamental cause is that NewSignatureType mutates its operands: it updates the index of each TypeParam; this is #67293. Depending on the resolution of that issue, gopls will need to:

  • do nothing (except this will require go1.23)
  • duplicate the TypeParams
  • stop using NewSignatureType entirely and fork the type formatter.

Duplicating the TypeParams seems like the expedient fix.

@adonovan adonovan self-assigned this May 10, 2024
@adonovan adonovan added this to the gopls/v0.16.0 milestone May 10, 2024
@gopherbot gopherbot added Tools This label describes issues relating to any tools in the x/tools repository. gopls Issues related to the Go language server, gopls. labels May 10, 2024
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/584406 mentions this issue: gopls/internal/golang: fix another crash in RenderPackageDoc

@golang golang locked and limited conversation to collaborators May 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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.
Projects
None yet
Development

No branches or pull requests

2 participants