From d432238fadd10fa514a04975dfe85719b5b8f377 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 27 May 2014 21:53:39 -0700 Subject: [PATCH] test: expand issue7863 test This was sitting in my client but I forgot hg add. LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/101800045 --- test/fixedbugs/issue7863.go | 53 +++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 5 deletions(-) diff --git a/test/fixedbugs/issue7863.go b/test/fixedbugs/issue7863.go index 796db6a98f..97f2255350 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") } } -- 2.48.1