1
0
mirror of https://github.com/golang/go synced 2024-11-19 04:04:47 -07:00
go/internal
Muir Manders 7dc6b39912 internal/lsp: use memoize store's context when type checking
The memoize store passes a detached context to the value getter
function. This is important since if the value getter experiences a
context cancellation it will end up caching context.Canceled, which
you never want. When type checking, we were ignoring the detached
context and using the "real" request context. This would cause the
context.Canceled error to get cached and continue popping up in
various situations.

Fix by swapping the importer's context to the detached context. It is
a little messy since the importer stores the context as a field. I
added a defer to restore the original context since it doesn't seem
correct to let the detached context escape the memoize function.

Updates golang/go#33678

Change-Id: I20dd466b0072ac2e856adbe993364f77e93ab054
Reviewed-on: https://go-review.googlesource.com/c/tools/+/192719
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
2019-09-04 20:12:04 +00:00
..
apidiff all: skip tests if required tools are not found 2019-08-30 15:40:57 +00:00
fastwalk
gopathwalk internal/imports: skip scanned module cache dirs 2019-08-29 21:03:13 +00:00
imports all: skip more memory-intensive tests on linux-arm 2019-08-30 17:05:41 +00:00
jsonrpc2 internal/lsp: use a background context for the background worker 2019-07-18 19:01:55 +00:00
lsp internal/lsp: use memoize store's context when type checking 2019-09-04 20:12:04 +00:00
memoize internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00
module
semver
span internal/span: handle character values beyond end of line in FromUTF16Column 2019-07-06 07:08:13 +00:00
telemetry internal/lsp: add additional information when logging errors 2019-08-26 18:41:59 +00:00
testenv all: skip more memory-intensive tests on linux-arm 2019-08-30 17:05:41 +00:00
tool
txtar
xcontext internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00