test: add extra test for issue18661

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>
This commit is contained in:
Josh Bleecher Snyder 2017-01-21 16:58:01 -08:00
parent edad59cfae
commit b443babad4

View 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)
}
}