diff options
Diffstat (limited to 'test/fixedbugs/bug206.go')
-rw-r--r-- | test/fixedbugs/bug206.go | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/test/fixedbugs/bug206.go b/test/fixedbugs/bug206.go deleted file mode 100644 index 7efc0b14a..000000000 --- a/test/fixedbugs/bug206.go +++ /dev/null @@ -1,48 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out >/dev/null 2>&1 || echo BUG: bug206 - -// 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 - -import "go/ast"; - -func g(list []ast.Expr) { - n := len(list)-1; - println(list[n].Pos()); -} - - -// f is the same as g except that the expression assigned to n is inlined. -func f(list []ast.Expr) { - // n := len(list)-1; - println(list[len(list)-1 /* n */].Pos()); -} - - -func main() { - list := []ast.Expr{&ast.Ident{}}; - g(list); // this works - f(list); // this doesn't -} - - -/* -0 -throw: index out of range - -panic PC=0x2bcf10 -throw+0x33 /home/gri/go/src/pkg/runtime/runtime.c:71 - throw(0x470f8, 0x0) -sys·throwindex+0x1c /home/gri/go/src/pkg/runtime/runtime.c:45 - sys·throwindex() -main·f+0x26 /home/gri/go/test/bugs/bug206.go:16 - main·f(0x2b9560, 0x0) -main·main+0xc3 /home/gri/go/test/bugs/bug206.go:23 - main·main() -mainstart+0xf /home/gri/go/src/pkg/runtime/amd64/asm.s:55 - mainstart() -goexit /home/gri/go/src/pkg/runtime/proc.c:133 - goexit() -*/ |