diff options
author | Russ Cox <rsc@golang.org> | 2014-05-27 21:53:39 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-05-27 21:53:39 -0700 |
commit | 6be9b23c26b00cd4fa5c3003a739c28b82f1f0c8 (patch) | |
tree | 2e151590f5205b32f0384b8981aaaec64fe85eac /test | |
parent | 432e6ecdae4134538add8d381be0c316a4e2e356 (diff) | |
download | go-6be9b23c26b00cd4fa5c3003a739c28b82f1f0c8.tar.gz |
test: expand issue7863 test
This was sitting in my client but I forgot hg add.
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://codereview.appspot.com/101800045
Committer: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/fixedbugs/issue7863.go | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/test/fixedbugs/issue7863.go b/test/fixedbugs/issue7863.go index 796db6a98..97f225535 100644 --- a/test/fixedbugs/issue7863.go +++ b/test/fixedbugs/issue7863.go @@ -6,12 +6,55 @@ package main -import "time" +import ( + "fmt" +) + +type Foo int64 + +func (f *Foo) F() int64 { + return int64(*f) +} + +type Bar int64 + +func (b Bar) F() int64 { + return int64(b) +} + +type Baz int32 + +func (b Baz) F() int64 { + return int64(b) +} func main() { - now := time.Now() - f := now.Unix - if now.Unix() != f() { - println("BUG: ", now.Unix(), "!=", f()) + foo := Foo(123) + f := foo.F + if foo.F() != f() { + bug() + fmt.Println("foo.F", foo.F(), f()) + } + bar := Bar(123) + f = bar.F + if bar.F() != f() { + bug() + fmt.Println("bar.F", bar.F(), f()) // duh! + } + + baz := Baz(123) + f = baz.F + if baz.F() != f() { + bug() + fmt.Println("baz.F", baz.F(), f()) + } +} + +var bugged bool + +func bug() { + if !bugged { + bugged = true + fmt.Println("BUG") } } |