mirror of
https://github.com/golang/go
synced 2024-11-22 01:04:40 -07:00
gc: correct type check for x, ok map assignment
Fixes #288. R=ken2 https://golang.org/cl/157162
This commit is contained in:
parent
6c827cb412
commit
b7c4314ecb
@ -2018,7 +2018,7 @@ typecheckas2(Node *n)
|
|||||||
if(l->type == T)
|
if(l->type == T)
|
||||||
goto out;
|
goto out;
|
||||||
n->op = OAS2MAPW;
|
n->op = OAS2MAPW;
|
||||||
n->rlist->n = typecheckconv(nil, r, l->type->down, 0, nil);
|
n->rlist->n = typecheckconv(nil, r, l->type, 0, nil);
|
||||||
r = n->rlist->next->n;
|
r = n->rlist->next->n;
|
||||||
n->rlist->next->n = typecheckconv(nil, r, types[TBOOL], 0, nil);
|
n->rlist->next->n = typecheckconv(nil, r, types[TBOOL], 0, nil);
|
||||||
goto out;
|
goto out;
|
||||||
|
14
test/fixedbugs/bug220.go
Normal file
14
test/fixedbugs/bug220.go
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// $G $D/$F.go || echo BUG: bug220
|
||||||
|
|
||||||
|
// Copyright 2009 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.
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
m := make(map[int]map[uint]float);
|
||||||
|
|
||||||
|
m[0] = make(map[uint]float), false; // 6g used to reject this
|
||||||
|
m[1] = nil;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user