]> Cypherpunks repositories - gostls13.git/commitdiff
test: add extra test for issue18661
authorJosh Bleecher Snyder <josharian@gmail.com>
Sun, 22 Jan 2017 00:58:01 +0000 (16:58 -0800)
committerJosh Bleecher Snyder <josharian@gmail.com>
Thu, 2 Feb 2017 04:57:33 +0000 (04:57 +0000)
Make sure that the lack of an lvalue doesn't
cause extra side-effects.

Updates #18661
Updates #18739

Change-Id: I52eb4b4a5c6f8ff5cddd2115455f853c18112c19
Reviewed-on: https://go-review.googlesource.com/36126
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
test/fixedbugs/issue18661.go

index 8c83775200902e953b82b794880cbd8224651749..e64a771a83dcd0b26ff6eb82500afe6a4a5bf45a 100644 (file)
@@ -1,10 +1,15 @@
-// compile
+// run
 
 // Copyright 2017 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 p
+package main
+
+import (
+       "fmt"
+       "os"
+)
 
 var (
        e interface{}
@@ -16,3 +21,19 @@ func test(obj interface{}) {
        if obj != struct{ a *string }{} {
        }
 }
+
+var x int
+
+func f() [2]string {
+       x++
+       return [2]string{"abc", "def"}
+}
+
+func main() {
+       var e interface{} = [2]string{"abc", "def"}
+       _ = e == f()
+       if x != 1 {
+               fmt.Println("x=", x)
+               os.Exit(1)
+       }
+}