Commit 5cb1c82d authored by Russ Cox's avatar Russ Cox

gc: remove type elision in struct literals

R=ken2
CC=golang-dev
https://golang.org/cl/5437136
parent 98553f14
......@@ -2183,7 +2183,7 @@ typecheckcomplit(Node **np)
s = f->sym;
fielddup(newname(s), hash, nhash);
r = l->right;
pushtype(r, f->type);
// No pushtype allowed here. Tried and rejected.
typecheck(&r, Erv);
l->right = assignconv(r, f->type, "field value");
}
......
......@@ -58,7 +58,7 @@ func main() {
var tp *T
tp = &T{0, 7.2, "hi", &t}
tl := &T{i: 0, next: {i: 1, next: {i: 2, next: {i: 3, next: {i: 4}}}}}
tl := &T{i: 0, next: &T{i: 1, next: &T{i: 2, next: &T{i: 3, next: &T{i: 4}}}}}
teq(tl, 5)
a1 := []int{1, 2, 3}
......
......@@ -34,6 +34,6 @@ type T struct {
var (
_ = &T{0, 0, "", nil} // ok
_ = &T{i: 0, f: 0, s: "", next: {}} // ok
_ = &T{i: 0, f: 0, s: "", next: {}} // ERROR "missing type in composite literal"
_ = &T{0, 0, "", {}} // ERROR "missing type in composite literal"
)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment