mirror of
https://github.com/golang/go
synced 2024-11-22 01:24:42 -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) {
|
||||
case OINDEX:
|
||||
if(isfixedarray(n->left->type))
|
||||
return islvalue(n->left);
|
||||
// fall through
|
||||
case OIND:
|
||||
case ODOTPTR:
|
||||
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