diff options
Diffstat (limited to 'test/interface/embed.go')
-rw-r--r-- | test/interface/embed.go | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/test/interface/embed.go b/test/interface/embed.go deleted file mode 100644 index 2fddee190..000000000 --- a/test/interface/embed.go +++ /dev/null @@ -1,61 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out - -// Copyright 2009 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. - -// Check methods derived from embedded interface values. - -package main - -import "os" - -const Value = 1e12 - -type Inter interface { M() int64 } - -type T int64 -func (t T) M() int64 { return int64(t) } -var t = T(Value) -var pt = &t -var ti Inter = t - -type S struct { Inter } -var s = S{ ti } -var ps = &s - -var i Inter - -var ok = true - -func check(s string, v int64) { - if v != Value { - println(s, v) - ok = false - } -} - -func main() { - check("t.M()", t.M()) - check("pt.M()", pt.M()) - check("ti.M()", ti.M()) - check("s.M()", s.M()) - check("ps.M()", ps.M()) - - i = t - check("i = t; i.M()", i.M()) - - i = pt - check("i = pt; i.M()", i.M()) - - i = s - check("i = s; i.M()", i.M()) - - i = ps - check("i = ps; i.M()", i.M()) - - if !ok { - println("BUG: interface10") - os.Exit(1) - } -} |