...
Run Format

Source file test/fixedbugs/bug329.go

Documentation: test/fixedbugs

  // run
  
  // Copyright 2011 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 main
  
  type Value struct {
  	X interface{}
  	Y int
  }
  
  type Struct struct {
  	X complex128
  }
  
  const magic = 1 + 2i
  
  func (Value) Complex(x complex128) {
  	if x != magic {
  		println(x)
  		panic("bad complex magic")
  	}
  }
  
  func f(x *byte, y, z int) complex128 {
  	return magic
  }
  
  func (Value) Struct(x Struct) {
  	if x.X != magic {
  		println(x.X)
  		panic("bad struct magic")
  	}
  }
  
  func f1(x *byte, y, z int) Struct {
  	return Struct{magic}
  }
  
  func main() {
  	var v Value
  	v.Struct(f1(nil, 0, 0)) // ok
  	v.Complex(f(nil, 0, 0)) // used to fail
  }
  

View as plain text