summaryrefslogtreecommitdiff
path: root/test/interface/bigdata.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/interface/bigdata.go')
-rw-r--r--test/interface/bigdata.go75
1 files changed, 0 insertions, 75 deletions
diff --git a/test/interface/bigdata.go b/test/interface/bigdata.go
deleted file mode 100644
index 44f6ab127..000000000
--- a/test/interface/bigdata.go
+++ /dev/null
@@ -1,75 +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 that big vs small, pointer vs not
-// interface methods work.
-
-package main
-
-type I interface { M() int64 }
-
-type BigPtr struct { a, b, c, d int64 }
-func (z *BigPtr) M() int64 { return z.a+z.b+z.c+z.d }
-
-type SmallPtr struct { a int32 }
-func (z *SmallPtr) M() int64 { return int64(z.a) }
-
-type IntPtr int32
-func (z *IntPtr) M() int64 { return int64(*z) }
-
-var bad bool
-
-func test(name string, i I) {
- m := i.M()
- if m != 12345 {
- println(name, m)
- bad = true
- }
-}
-
-func ptrs() {
- var bigptr BigPtr = BigPtr{ 10000, 2000, 300, 45 }
- var smallptr SmallPtr = SmallPtr{ 12345 }
- var intptr IntPtr = 12345
-
-// test("bigptr", bigptr)
- test("&bigptr", &bigptr)
-// test("smallptr", smallptr)
- test("&smallptr", &smallptr)
-// test("intptr", intptr)
- test("&intptr", &intptr)
-}
-
-type Big struct { a, b, c, d int64 }
-func (z Big) M() int64 { return z.a+z.b+z.c+z.d }
-
-type Small struct { a int32 }
-func (z Small) M() int64 { return int64(z.a) }
-
-type Int int32
-func (z Int) M() int64 { return int64(z) }
-
-func nonptrs() {
- var big Big = Big{ 10000, 2000, 300, 45 }
- var small Small = Small{ 12345 }
- var int Int = 12345
-
- test("big", big)
- test("&big", &big)
- test("small", small)
- test("&small", &small)
- test("int", int)
- test("&int", &int)
-}
-
-func main() {
- ptrs()
- nonptrs()
-
- if bad {
- println("BUG: interface4")
- }
-}