Alan Donovan

Results 347 comments of Alan Donovan

Guessing from logic of the CL I just reviewed, the criterion is: Vet should report a diagnostic when appending to a slice s if there exists an assignment `s =...

Yes, major feature changes to analyzers included in vet do need proposals.

I ran the new analyzer (at patch set 18 of [CL 619915](https://go.dev/cl/619915)) over about 15,000 modules, and got [1225 new findings](https://github.com/user-attachments/files/17497446/sliceinit.txt). Here are a random 50. Inspecting the first 10,...

Are you able to estimate the the false positive rate when these cases are excluded? The file attached above contains the complete list of 1225 findings. Can you sample a...

I have put this proposal on Hold until we have a promising prototype implementation.

> If we reach an agreement, I'll be happy to implement its code. The order is backwards: what this proposal needs to move forwards is a new idea, a prototype,...

This stack `hbJFWg` was [reported by telemetry](https://storage.googleapis.com/prod-telemetry-merged/2024-10-30.json): - `gopls/bug` - [`golang.org/x/tools/gopls/internal/util/bug.report:+35`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/util/bug/bug.go;l=109) - [`golang.org/x/tools/gopls/internal/util/bug.Errorf:+2`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/util/bug/bug.go;l=61) - [`golang.org/x/tools/gopls/internal/cache.(*Snapshot).load:+136`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/cache/load.go;l=181) - [`golang.org/x/tools/gopls/internal/cache.(*Snapshot).MetadataForFile:+36`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/cache/snapshot.go;l=792) - [`golang.org/x/tools/gopls/internal/cache.(*Snapshot).orphanedFileDiagnostics:+13`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/cache/snapshot.go;l=1434) - [`golang.org/x/tools/gopls/internal/cache.(*Session).OrphanedFileDiagnostics:+50`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/cache/session.go;l=1173) - [`golang.org/x/tools/gopls/internal/server.(*server).diagnoseChangedViews:+54`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/server/diagnostics.go;l=157) - [`golang.org/x/tools/gopls/internal/server.(*server).didModifyFiles.func2:+1`](https://cs.opensource.google/go/x/tools/+/gopls/v0.15.3:gopls/internal/server/text_synchronization.go;l=269) - `runtime.goexit:+0` ``` golang.org/x/tools/[email protected] go1.22.2...

This stack `KaBt7Q` was [reported by telemetry](https://storage.googleapis.com/prod-telemetry-merged/2024-11-10.json): - `gopls/bug` - [`golang.org/x/tools/gopls/internal/util/bug.report:+35`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/util/bug/bug.go;l=109) - [`golang.org/x/tools/gopls/internal/util/bug.Errorf:+2`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/util/bug/bug.go;l=61) - [`golang.org/x/tools/gopls/internal/cache.(*Snapshot).load:+140`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/cache/load.go;l=185) - [`golang.org/x/tools/gopls/internal/cache.(*Snapshot).MetadataForFile:+36`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/cache/snapshot.go;l=719) - [`golang.org/x/tools/gopls/internal/golang.NarrowestMetadataForFile:+1`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/golang/snapshot.go;l=21) - [`golang.org/x/tools/gopls/internal/server.(*server).diagnoseChangedFiles:+33`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/server/diagnostics.go;l=274) - [`golang.org/x/tools/gopls/internal/server.(*server).diagnoseSnapshot:+25`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/server/diagnostics.go;l=208) - [`golang.org/x/tools/gopls/internal/server.(*server).diagnoseChangedViews.func1:+3`](https://cs.opensource.google/go/x/tools/+/gopls/v0.16.2:gopls/internal/server/diagnostics.go;l=138) - `runtime.goexit:+0` ``` golang.org/x/tools/[email protected] go1.23.2...

After discussion with @griesemer, we agree that the support policy proposed here seems appropriate. Furthermore, we agree that purpose (1), a serialization format for types.Packages, should really move into the...

> You may want to ship a single tool that is compatible with analyzing the output of a large range of go toolchains. This is more a description of the...