summaryrefslogtreecommitdiff
path: root/test/fixedbugs/bug242.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/fixedbugs/bug242.go')
-rw-r--r--test/fixedbugs/bug242.go132
1 files changed, 0 insertions, 132 deletions
diff --git a/test/fixedbugs/bug242.go b/test/fixedbugs/bug242.go
deleted file mode 100644
index 839dccd37..000000000
--- a/test/fixedbugs/bug242.go
+++ /dev/null
@@ -1,132 +0,0 @@
-// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: tuple evaluation order
-
-// 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.
-
-// Test order of evaluation in tuple assignments.
-
-package main
-
-var i byte = 0
-var a [30]byte
-
-func f() *byte {
- i++
- return &a[i-1]
-}
-func gbyte() byte {
- i++
- return 'a' + i - 1
-}
-func gint() byte {
- i++
- return i - 1
-}
-func x() (byte, byte) {
- i++
- return 'a' + i - 1, 'a' + i - 1
-}
-func e1(c chan byte, expected byte) chan byte {
- if i != expected {
- println("e1: got", i, "expected", expected)
- panic("fail")
- }
- i++
- return c
-}
-
-type Empty interface{}
-type I interface {
- Get() byte
-}
-type S1 struct {
- i byte
-}
-
-func (p S1) Get() byte { return p.i }
-
-type S2 struct {
- i byte
-}
-
-func e2(p Empty, expected byte) Empty {
- if i != expected {
- println("e2: got", i, "expected", expected)
- panic("fail")
- }
- i++
- return p
-}
-func e3(p *I, expected byte) *I {
- if i != expected {
- println("e3: got", i, "expected", expected)
- panic("fail")
- }
- i++
- return p
-}
-
-func main() {
- for i := range a {
- a[i] = ' '
- }
-
- // 0 1 2 3 4 5
- *f(), *f(), *f() = gbyte(), gbyte(), gbyte()
-
- // 6 7 8
- *f(), *f() = x()
-
- m := make(map[byte]byte)
- m[10] = 'A'
- var p1, p2 bool
- // 9 10
- *f(), p1 = m[gint()]
- // 11 12
- *f(), p2 = m[gint()]
- a[11] += '0'
- if !p1 || p2 {
- println("bad map check", i, p1, p2)
- panic("fail")
- }
-
- m[13] = 'B'
- // 13 14
- m[gint()] = gbyte(), false
- if _, present := m[13]; present {
- println("bad map removal")
- panic("fail")
- }
-
- c := make(chan byte, 1)
- c <- 'C'
- // 15 16
- *f(), p1 = <-e1(c, 16)
- close(c)
- // 17 18
- *f(), p2 = <-e1(c, 18)
- a[17] += '0'
- if !p1 || p2 {
- println("bad chan check", i, p1, p2)
- panic("fail")
- }
-
- s1 := S1{'D'}
- s2 := S2{'E'}
- var iv I
- // 19 20
- *e3(&iv, 19), p1 = e2(s1, 20).(I)
- // 21 22
- *e3(&iv, 21), p2 = e2(s2, 22).(I)
- if !p1 || p2 {
- println("bad interface check", i, p1, p2)
- panic("fail")
- }
-
- s := string(a[0:i])
- if s != "def ii A 0 C 0 " {
- println("bad array results:", s)
- panic("fail")
- }
-}