summaryrefslogtreecommitdiff
path: root/src/pkg/exp/eval/stmt_test.go
diff options
context:
space:
mode:
authorAustin Clements <aclements@csail.mit.edu>2009-10-22 08:59:18 -0700
committerAustin Clements <aclements@csail.mit.edu>2009-10-22 08:59:18 -0700
commit36310d7a94037a5144ec10d1c5e228cc13e53988 (patch)
treef8cbc9a83ed3c7005e6638c93693640eede9e77e /src/pkg/exp/eval/stmt_test.go
parent92d7c0f50b4a50a49508a140501750e76796518b (diff)
downloadgolang-36310d7a94037a5144ec10d1c5e228cc13e53988.tar.gz
Interface types, values, and type compiler. This does not yet
implement any type checking or semantics for interfaces. R=rsc APPROVED=rsc DELTA=305 (289 added, 10 deleted, 6 changed) OCL=35889 CL=35995
Diffstat (limited to 'src/pkg/exp/eval/stmt_test.go')
-rw-r--r--src/pkg/exp/eval/stmt_test.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pkg/exp/eval/stmt_test.go b/src/pkg/exp/eval/stmt_test.go
index e94adfb60..e4bfc38a6 100644
--- a/src/pkg/exp/eval/stmt_test.go
+++ b/src/pkg/exp/eval/stmt_test.go
@@ -123,6 +123,12 @@ var stmtTests = []test {
Run("type T func(int, int) (int, int)"),
CErr("type T func(x); type U T", "undefined"),
CErr("type T func(a T)", "recursive"),
+ // Interface types
+ Run("type T interface {x(a, b int) int}"),
+ Run("type T interface {x(a, b int) int}; type U interface {T; y(c int)}"),
+ CErr("type T interface {x(a int); x()}", "method x redeclared"),
+ CErr("type T interface {x()}; type U interface {T; x()}", "method x redeclared"),
+ CErr("type T int; type U interface {T}", "embedded type"),
// Parens
Run("type T (int)"),