mirror of
https://github.com/golang/go
synced 2024-09-05 16:04:50 +00:00
cmd/compile: fix position for "missing type in composite literal" error
Fixes #18231. Change-Id: If1615da4db0e6f0516369a1dc37340d80c78f237 Reviewed-on: https://go-review.googlesource.com/37018 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
5267ac2732
commit
2770c507a5
|
@ -2882,10 +2882,7 @@ func typecheckcomplit(n *Node) *Node {
|
|||
}()
|
||||
|
||||
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
|
||||
}
|
||||
|
|
20
test/fixedbugs/issue18231.go
Normal file
20
test/fixedbugs/issue18231.go
Normal file
|
@ -0,0 +1,20 @@
|
|||
// 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",
|
||||
},
|
||||
}
|
Loading…
Reference in a new issue