mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +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
2 changed files with 21 additions and 4 deletions
|
@ -2882,10 +2882,7 @@ func typecheckcomplit(n *Node) *Node {
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if n.Right == nil {
|
if n.Right == nil {
|
||||||
if n.List.Len() != 0 {
|
yyerrorl(n.Pos, "missing type in composite literal")
|
||||||
setlineno(n.List.First())
|
|
||||||
}
|
|
||||||
yyerror("missing type in composite literal")
|
|
||||||
n.Type = nil
|
n.Type = nil
|
||||||
return n
|
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