mirror of
https://github.com/golang/go
synced 2024-09-24 03:10:16 -06: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.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 New Issue
Block a user