While trying to resolve a failing (C) test case[0] I encountered a (Go) behavior I do not understand. This code[1]
package main import ( "fmt" ) var ( x = [1]int{2} x2 = [1]int{2} ) func foo() int { x[0] |= 128 return 1 } func foo2() int { x2[0] |= 128 return 1 } func main() { x[0] |= foo() fmt.Println(x[0]) v := x2[0] | foo2() fmt.Println(v) } outputs: 3 131 It seems to me that the two numbers should be the same. (?) Thanks in advance to anyone enlightening me. [0]: https://github.com/gcc-mirror/gcc/blob/4107202e2b8f814f4c63a61b043cfb36a3798de3/gcc/testsuite/gcc.c-torture/execute/pr58943.c [1]: https://play.golang.org/p/fGibPFuejQ -- -j -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.