From b443babad49f90e9507d91819736c97a7495e308 Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Sat, 21 Jan 2017 16:58:01 -0800 Subject: [PATCH] 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 TryBot-Result: Gobot Gobot Reviewed-by: Matthew Dempsky --- test/fixedbugs/issue18661.go | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/test/fixedbugs/issue18661.go b/test/fixedbugs/issue18661.go index 8c83775200..e64a771a83 100644 --- a/test/fixedbugs/issue18661.go +++ b/test/fixedbugs/issue18661.go @@ -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) + } +} -- 2.48.1