Skip to content

Commit

Permalink
Closed issue 154 - prevents compiler from compiliing a line to zero s…
Browse files Browse the repository at this point in the history
…tatements
  • Loading branch information
tohava authored and graydon committed Sep 30, 2010
1 parent b970563 commit 74cb950
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/boot/fe/item.ml
Expand Up @@ -148,12 +148,21 @@ and parse_auto_slot_and_init
let stmts = ctxt "slot, ident and init: init" (parse_init lval) ps in
(stmts, slot_auto, ident)


and parse_stmts (ps:pstate) : Ast.stmt array =
let arr = parse_stmts_including_none ps in
if (Array.length arr) == 0 then
raise (err "statement does nothing" ps);
arr



(*
* We have no way to parse a single Ast.stmt; any incoming syntactic statement
* may desugar to N>1 real Ast.stmts
*)

and parse_stmts (ps:pstate) : Ast.stmt array =
and parse_stmts_including_none (ps:pstate) : Ast.stmt array =
let apos = lexpos ps in

let ensure_mutable slot =
Expand Down
7 changes: 7 additions & 0 deletions src/test/compile-fail/does-nothing.rs
@@ -0,0 +1,7 @@
// error-pattern: does nothing
fn main() {
log "doing";
this_does_nothing_what_the;
log "boing";
}

0 comments on commit 74cb950

Please sign in to comment.