diff options
| author | Patrick Walton <[email protected]> | 2011-03-08 17:34:15 -0800 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2011-03-08 17:34:41 -0800 |
| commit | 5b7c3b8b5df8292e27943908fd4c16323c7833a8 (patch) | |
| tree | c7ffdb44d0c074b9916fcecf0a2986a7f8c858f6 /src | |
| parent | Un-XFAIL obj-return-polytypes.rs (diff) | |
| download | rust-5b7c3b8b5df8292e27943908fd4c16323c7833a8.tar.xz rust-5b7c3b8b5df8292e27943908fd4c16323c7833a8.zip | |
rustc: Typecheck the base part of record extension expressions. Un-XFAIL rec-extend.rs.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile | 1 | ||||
| -rw-r--r-- | src/comp/middle/typeck.rs | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/Makefile b/src/Makefile index 3dcb4461..43cb1a7f 100644 --- a/src/Makefile +++ b/src/Makefile @@ -479,7 +479,6 @@ TEST_XFAILS_RUSTC := $(addprefix test/run-pass/, \ obj-dtor.rs \ pred.rs \ preempt.rs \ - rec-extend.rs \ rt-circular-buffer.rs \ size-and-align.rs \ spawn-fn.rs \ diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index 81458d2d..cbb6e4ac 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -2064,7 +2064,13 @@ fn check_expr(&@fn_ctxt fcx, @ast.expr expr) -> @ast.expr { case (ast.expr_rec(?fields, ?base, _)) { - auto base_1 = base; + auto base_1; + alt (base) { + case (none[@ast.expr]) { base_1 = none[@ast.expr]; } + case (some[@ast.expr](?b_0)) { + base_1 = some[@ast.expr](check_expr(fcx, b_0)); + } + } let vec[ast.field] fields_1 = vec(); let vec[field] fields_t = vec(); |