-
Notifications
You must be signed in to change notification settings - Fork 17.5k
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
x/tools/gopls: crash in debug.GetInstance during go generate
#53781
Comments
Thank you for the report. Is this by any chance reproducible for you? In any case, we can investigate this crashing stack. |
go generate
Reproduced with TestGenerateProgress, which was unfortunately skipped due to #49901 😞 Bisected to https://go.dev/cl/409936. |
Change https://go.dev/cl/417115 mentions this issue: |
@findleyr For me the case was gomock. My path didn't contain gomock tool and I was trying to run it like in the screenshot. It still happened a few times after fixing the path. |
@iboware this is an unfortunate bug that made it into the latest gopls release. We have a fix, and will release it soon (this week; hopefully tomorrow). It only occurs when the go:generate codelens is run. |
Change https://go.dev/cl/417118 mentions this issue: |
Since this appears to be an increasingly common crasher, reopening this issue for visibility. I will close it once the fix is actually released. |
Context in WorkDoneWriter In addition to the original commit description reproduced below, this CL updates gopls/go.mod to include a replace directive for x/tools. CL 409936 eliminated cases where we close over a Context during progress reporting, except in one instance where it wasn't possible: the WorkDoneWriter that must implement the io.Writer interface. Unfortunately it contained a glaring bug that the ctx field was never set, and the regression test for progress reporting during `go generate` was disabled due to flakiness (golang/go#49901). Incidentally, the fundamental problem that CL 409936 addressed may also fix the flakiness of TestGenerateProgress. Fix the bug, and re-enable the test. For golang/go#53781 For golang/go#53823 Change-Id: Ideb99a5525667e45d2e41fcc5078699ba1e0f1a3 Reviewed-on: https://go-review.googlesource.com/c/tools/+/417115 gopls-CI: kokoro <noreply+kokoro@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Robert Findley <rfindley@google.com> Auto-Submit: Robert Findley <rfindley@google.com> Reviewed-by: Alan Donovan <adonovan@google.com> (cherry picked from commit 459e2b8) Reviewed-on: https://go-review.googlesource.com/c/tools/+/417118 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
0.9.1 This release fixes a regression in the v0.9.0 release: a crash when running the go:generate codelens (golang/go#53781). Thank you to all those who filed crash reports, and apologies for the breakage! 0.9.0 This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “inlay hints” feature, along with several other minor enhancements.
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li>See full diff in <a href="https://github.com/golang/tools/compare/v0.9.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.9.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…/@jsii/go-runtime-test/project (#4089) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
…/@jsii/go-runtime/jsii-runtime-go (#4088) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1086) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.8.0 to 0.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/golang/tools/releases">golang.org/x/tools's releases</a>.</em></p> <blockquote> <h2>gopls/v0.9.1</h2> <p>This release fixes a regression in the v0.9.0 release: a crash when running the <code>go:generate</code><code>golang/go#53781</code></p> <p>Thank you to all those who filed crash reports, and apologies for the breakage!</p> <h2>gopls@v0.9.0</h2> <p>This release contains significant performance improvements (especially in incremental processing after source changes), bug fixes, and support for the LSP “<a href="https://github.com/microsoft/language-server-protocol/issues/956">inlay hints</a>” feature, along with several other minor enhancements.</p> <h2>Performance improvements</h2> <p>Source edits cause gopls to invalidate and recompute information about the workspace, most of which has not changed. Previously, gopls would spend significant CPU copying data structures, sometimes more than 100ms per keystroke in a large workspace. This release includes many optimizations to avoid copying data needlessly, including a new <a href="https://cs.opensource.google/go/x/tools/+/gopls-release-branch.0.9:internal/persistent/map.go;l=26-37">map representation</a> to achieve copying in constant time. Special thanks to <a href="https://github.com/euroelessar"><code>@euroelessar</code></a> for the design and implementation of this data structure.</p> <p>As a result of these improvements, gopls should be more responsive while typing in large codebases, though it will still use a lot of memory.</p> <p>Time to process a change notification in the Kubernetes repo: <img src="https://user-images.githubusercontent.com/57144380/176967584-a8040048-6357-40d5-9d80-c448281f6482.png" alt="image" /></p> <h2>New Features</h2> <h3>Inlay hints</h3> <p>Added support for displaying inlay hints of composite literal field names and types, constant values, function parameter names, function type params, and short variable declarations. You can try these out in the <a href="https://github.com/golang/vscode-go/blob/master/docs/nightly.md">vscode-go nightly</a> by <a href="https://github.com/golang/vscode-go/blob/master/docs/settings.md#goinlayhintsassignvariabletypes">enabling inlay hints settings</a>.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967591-a7b767b3-d447-4691-9486-10f957dc9a0f.gif" alt="image3" /></p> <h3>Package References</h3> <p>Find references on <code>package foo</code> now lists locations where the given package is imported.</p> <h3>Quick-fix to add field names to struct literals</h3> <p>A new quick fix adds field names to struct literals with unkeyed fields.</p> <p><img src="https://user-images.githubusercontent.com/57144380/176967261-6acbe0e7-7698-46ea-8deb-cbd913296034.gif" alt="image1" /></p> <h2>Bug fixes</h2> <p>This release includes the following notable bugfixes:</p> <ul> <li>Fixes for goimports performance and correctness when using a go.work file (<a href="https://go.dev/issue/52784">#52784</a>)</li> <li>Fix a crash during renaming in a package that uses generics (<a href="https://go.dev/issue/52940">#52940</a>)</li> <li>Fix gopls getting confused when moving a file from the <code>foo_test</code> package to <code>foo</code> package (<a href="https://github.com/golang/go/issues/45317">#45317</a>)</li> </ul> <p>A full list of all issues fixed can be found in the <a href="https://github.com/golang/go/milestone/260">gopls/v0.9.0 milestone</a>. To report a new problem, please file a new issue at <a href="https://go.dev/issues/new">https://go.dev/issues/new</a>.</p> <h2>Thank you to our contributors!</h2> <p>Thank you for your contribution, <a href="https://github.com/alandonovan"><code>@alandonovan</code></a>, <a href="https://github.com/euroelessar"><code>@euroelessar</code></a>, <a href="https://github.com/findleyr"><code>@findleyr</code></a>, <a href="https://github.com/hyangah"><code>@hyangah</code></a>, <a href="https://github.com/jamalc"><code>@jamalc</code></a>, <a href="https://github.com/jba"><code>@jba</code></a>, <a href="https://github.com/marwan-at-work"><code>@marwan-at-work</code></a>, <a href="https://github.com/suzmue"><code>@suzmue</code></a>, and <a href="https://github.com/dle8"><code>@dle8</code></a>!</p> <h2>What’s Next?</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/tools/commit/4609d79b05b5ef86867bd70209b7077e22d30cb2"><code>4609d79</code></a> cmd/bisect: add -compile and -godebug shorthands</li> <li><a href="https://github.com/golang/tools/commit/ddfa2200ae0bde969aa31087e186187f4fa91da0"><code>ddfa220</code></a> internal/fuzzy: improvements to the symbol scoring algorithm</li> <li><a href="https://github.com/golang/tools/commit/344924276c19e46abf4b452856ebf4a49004f37b"><code>3449242</code></a> go/types/objectpath: don't panic when receiver is missing a method</li> <li><a href="https://github.com/golang/tools/commit/0809ec2e45f644b158912c8a2a5947fd3ec38373"><code>0809ec2</code></a> gopls/internal/lsp/source: document {All,Workspace}Metadata</li> <li><a href="https://github.com/golang/tools/commit/8f7fb01dd42992a819cb33b7532bf3d9b1a109be"><code>8f7fb01</code></a> go/analysis/unitchecker: add test of go vet on std</li> <li><a href="https://github.com/golang/tools/commit/23e52a3e12e9073cdc59ae714289d11dd3b9fb1c"><code>23e52a3</code></a> bisect: diagnose bad targets better</li> <li><a href="https://github.com/golang/tools/commit/d5af8894fe9036e6e97095f53ab3b213ff4d7935"><code>d5af889</code></a> gopls: set GOWORK=off for loads from debug and safetoken tests</li> <li><a href="https://github.com/golang/tools/commit/c93329a94714470b8e9b0a2ce2fc2ed526ec3d3d"><code>c93329a</code></a> go/analysis/passes/printf: reshorten diagnostic about %s in Println call</li> <li><a href="https://github.com/golang/tools/commit/62197261cfa31386d0264edd27256e59c8a998cf"><code>6219726</code></a> go.mod: update golang.org/x dependencies</li> <li><a href="https://github.com/golang/tools/commit/f4d143ebcdfc1b05588abf1b220f2b1773097d46"><code>f4d143e</code></a> go/ssa: cleanup TestGenericBodies to pickup package name</li> <li>Additional commits viewable in <a href="https://github.com/golang/tools/compare/v0.8.0...v0.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/tools&package-manager=go_modules&previous-version=0.8.0&new-version=0.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
gopls version: v0.9.0 (go1.18.3)
gopls flags:
update flags: proxy
extension version: 0.34.1
go version: 1.18.3
environment: Visual Studio Code linux
initialization error: undefined
issue timestamp: Fri, 08 Jul 2022 13:08:32 GMT
restart history:
Fri, 08 Jul 2022 12:30:55 GMT: activation (enabled: true)
Fri, 08 Jul 2022 12:33:55 GMT: manual (enabled: true)
Fri, 08 Jul 2022 12:41:02 GMT: installation (enabled: true)
ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.
Describe what you observed.
I was trying to generate mocks by gomock. it become unresponsive and then crashed.
OPTIONAL: If you would like to share more information, you can attach your complete gopls logs.
NOTE: THESE MAY CONTAIN SENSITIVE INFORMATION ABOUT YOUR CODEBASE.
DO NOT SHARE LOGS IF YOU ARE WORKING IN A PRIVATE REPOSITORY.
<OPTIONAL: ATTACH LOGS HERE>
The text was updated successfully, but these errors were encountered: