| // Copyright 2012 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. |
| |
| // Functions that the inliner exported incorrectly. |
| |
| package one |
| |
| type T int |
| |
| // Issue 2678 |
| func F1(T *T) bool { return T == nil } |
| |
| // Issue 2682. |
| func F2(c chan int) bool { return c == (<-chan int)(nil) } |
| |
| // Use of single named return value. |
| func F3() (ret []int) { return append(ret, 1) } |
| |
| // Call of inlined method with blank receiver. |
| func (_ *T) M() int { return 1 } |
| func (t *T) MM() int { return t.M() } |
| |
| |
| // One more like issue 2678 |
| type S struct { x, y int } |
| type U []S |
| |
| func F4(S int) U { return U{{S,S}} } |
| |
| func F5() []*S { |
| return []*S{ {1,2}, { 3, 4} } |
| } |
| |
| func F6(S int) *U { |
| return &U{{S,S}} |
| } |
| |
| // Bug in the fix. |
| |
| type PB struct { x int } |
| |
| func (t *PB) Reset() { *t = PB{} } |