mirror of
https://github.com/golang/go
synced 2024-11-12 00:30:22 -07:00
448246adff
Non-syntax errors are always counted to determine if to exit early, but then deduplication eliminates them. This can lead to situations which report "too many errors" and only one error is shown. De-duplicate non-syntax errors early, at least the ones that appear consecutively, and only count the ones actually being shown. This doesn't work perfectly as they may not appear in sequence, but it's cheap and good enough. Fixes #14136. Change-Id: I7b11ebb2e1e082f0d604b88e544fe5ba967af1d7 Reviewed-on: https://go-review.googlesource.com/23259 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
20 lines
525 B
Go
20 lines
525 B
Go
// errorcheck
|
|
|
|
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Test that > 10 non-syntax errors on the same line
|
|
// don't lead to early exit. Specifically, here test
|
|
// that we see the initialization error for variable
|
|
// s.
|
|
|
|
package main
|
|
|
|
type T struct{}
|
|
|
|
func main() {
|
|
t := T{X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1} // ERROR "unknown T field"
|
|
var s string = 1 // ERROR "cannot use 1"
|
|
}
|