diff options
| author | Austin Clements <aclements@csail.mit.edu> | 2009-10-22 08:59:18 -0700 |
|---|---|---|
| committer | Austin Clements <aclements@csail.mit.edu> | 2009-10-22 08:59:18 -0700 |
| commit | 36310d7a94037a5144ec10d1c5e228cc13e53988 (patch) | |
| tree | f8cbc9a83ed3c7005e6638c93693640eede9e77e /src/pkg/exp/eval/stmt_test.go | |
| parent | 92d7c0f50b4a50a49508a140501750e76796518b (diff) | |
| download | golang-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.go | 6 |
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)"), |
