summaryrefslogtreecommitdiff
path: root/test/interface/embed.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/interface/embed.go')
-rw-r--r--test/interface/embed.go61
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)
- }
-}