Fixes #18231.
Change-Id: If1615da4db0e6f0516369a1dc37340d80c78f237
Reviewed-on: https://go-review.googlesource.com/37018
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
}()
if n.Right == nil {
- if n.List.Len() != 0 {
- setlineno(n.List.First())
- }
- yyerror("missing type in composite literal")
+ yyerrorl(n.Pos, "missing type in composite literal")
n.Type = nil
return n
}
--- /dev/null
+// errorcheck
+
+// Copyright 2017 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 error message for composite literals with
+// missing type is at the right place.
+
+package p
+
+type T struct {
+ f map[string]string
+}
+
+var _ = T{
+ f: { // ERROR "missing type in composite literal"
+ "a": "b",
+ },
+}