mirror of
https://github.com/golang/go
synced 2024-11-25 04:07:55 -07:00
gc: bug278
Fixes #804. R=ken2 CC=golang-dev https://golang.org/cl/1224045
This commit is contained in:
parent
80ac15ec12
commit
5e253645d2
@ -2074,6 +2074,9 @@ islvalue(Node *n)
|
|||||||
{
|
{
|
||||||
switch(n->op) {
|
switch(n->op) {
|
||||||
case OINDEX:
|
case OINDEX:
|
||||||
|
if(isfixedarray(n->left->type))
|
||||||
|
return islvalue(n->left);
|
||||||
|
// fall through
|
||||||
case OIND:
|
case OIND:
|
||||||
case ODOTPTR:
|
case ODOTPTR:
|
||||||
return 1;
|
return 1;
|
||||||
|
23
test/fixedbugs/bug278.go
Normal file
23
test/fixedbugs/bug278.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// errchk $G $D/$F.go
|
||||||
|
|
||||||
|
// Copyright 2010 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.
|
||||||
|
|
||||||
|
// This is a test case for issue 804.
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
func f() [10]int {
|
||||||
|
return [10]int{}
|
||||||
|
}
|
||||||
|
|
||||||
|
var m map[int][10]int
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
f()[1] = 2 // ERROR "cannot"
|
||||||
|
f()[2:3][0] = 4 // ERROR "cannot"
|
||||||
|
var x = "abc"
|
||||||
|
x[2] = 3 // ERROR "cannot"
|
||||||
|
m[0][5] = 6 // ERROR "cannot"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user