mirror of
https://github.com/golang/go
synced 2024-11-27 05:11:22 -07:00
7b4545653c
Improves the error message by moving the field name before the body of a struct, in the error message for unknown fields for structs. * Exhibit: Given program: package main import "time" func main() { _ = struct { about string before map[string]uint update map[string]int updateTime time.Time expect map[string]int }{ about: "this one", updates: map[string]int{"gopher": 10}, } } * Before: ./issue17631.go:20: unknown struct { about string; before map[string]uint; update map[string]int; updateTime time.Time; expect map[string]int } field 'updates' in struct literal * After: ./issue17631.go:20: unknown field 'updates' in struct literal of type { about string; before map[string]uint; update map[string]int; updateTime time.Time; expect map[string]int } Fixes #17631 Change-Id: I76842616411b931b5ad7a76bd42860dfde7739f4 Reviewed-on: https://go-review.googlesource.com/32240 Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
20 lines
555 B
Go
20 lines
555 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 field 'X' in struct literal of type T"
|
|
var s string = 1 // ERROR "cannot use 1"
|
|
}
|