about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-05-24 13:35:57 -0700
committerNiko Matsakis <niko@alum.mit.edu>2012-05-24 13:35:57 -0700
commitccd8d5573ea41fbcdd2b8212f7ec28876e15fd32 (patch)
treeabb2e7644b0cac6b2a92f63007ab357c2bc931af
parentf5c51b0a9c084418ae90b8909dc10b13ff318d72 (diff)
downloadrust-ccd8d5573ea41fbcdd2b8212f7ec28876e15fd32.tar.gz
rust-ccd8d5573ea41fbcdd2b8212f7ec28876e15fd32.zip
remove dead assignments
-rw-r--r--src/libcore/extfmt.rs2
-rw-r--r--src/librustsyntax/parse/lexer.rs2
-rw-r--r--src/librustsyntax/parse/parser.rs6
-rw-r--r--src/libstd/net_tcp.rs3
-rw-r--r--src/libstd/rope.rs4
-rw-r--r--src/rustc/back/link.rs7
-rw-r--r--src/rustc/driver/driver.rs4
-rw-r--r--src/rustc/middle/trans/base.rs2
-rw-r--r--src/rustc/middle/tstate/auxiliary.rs3
-rw-r--r--src/rustc/middle/tstate/pre_post_conditions.rs4
-rw-r--r--src/rustc/middle/tstate/states.rs25
-rw-r--r--src/rustc/middle/typeck/check.rs2
-rw-r--r--src/rustc/middle/typeck/check/alt.rs2
-rw-r--r--src/test/compile-fail/borrowck-pure-scope-in-call.rs2
-rwxr-xr-xsrc/test/compile-fail/liveness-unusedbin0 -> 14524 bytes
-rw-r--r--src/test/compile-fail/no-reuse-move-arc.rs7
16 files changed, 24 insertions, 51 deletions
diff --git a/src/libcore/extfmt.rs b/src/libcore/extfmt.rs
index 3b97e5e49e3..86466bb8de1 100644
--- a/src/libcore/extfmt.rs
+++ b/src/libcore/extfmt.rs
@@ -112,7 +112,7 @@ mod ct {
                 }
             } else { buf += curr; i += 1u; }
         }
-        buf = flush_buf(buf, pieces);
+        flush_buf(buf, pieces);
         ret pieces;
     }
     fn peek_num(s: str, i: uint, lim: uint) ->
diff --git a/src/librustsyntax/parse/lexer.rs b/src/librustsyntax/parse/lexer.rs
index b95b10fc33e..63dc85e865d 100644
--- a/src/librustsyntax/parse/lexer.rs
+++ b/src/librustsyntax/parse/lexer.rs
@@ -199,7 +199,7 @@ fn scan_number(c: char, rdr: reader) -> token::token {
     }
     num_str = scan_digits(rdr, base);
     c = rdr.curr;
-    n = rdr.next();
+    rdr.next();
     if c == 'u' || c == 'i' {
         let signed = c == 'i';
         let mut tp = {
diff --git a/src/librustsyntax/parse/parser.rs b/src/librustsyntax/parse/parser.rs
index 51b26373c36..32bafac535b 100644
--- a/src/librustsyntax/parse/parser.rs
+++ b/src/librustsyntax/parse/parser.rs
@@ -90,7 +90,7 @@ class parser {
         self.span = span0;
         self.last_span = span0;
         self.buffer = dvec::dvec();
-        self.restriction == UNRESTRICTED;
+        self.restriction = UNRESTRICTED;
         self.reader = rdr;
         self.keywords = token::keyword_table();
         self.restricted_keywords = token::restricted_keyword_table();
@@ -949,7 +949,7 @@ class parser {
     fn parse_dot_or_call_expr_with(e0: pexpr) -> pexpr {
         let mut e = e0;
         let lo = e.span.lo;
-        let mut hi = e.span.hi;
+        let mut hi;
         loop {
             // expr.f
             if eat(self, token::DOT) {
@@ -1025,7 +1025,7 @@ class parser {
 
     fn parse_prefix_expr() -> pexpr {
         let lo = self.span.lo;
-        let mut hi = self.span.hi;
+        let mut hi;
 
         let mut ex;
         alt self.token {
diff --git a/src/libstd/net_tcp.rs b/src/libstd/net_tcp.rs
index 2fe24715083..97fb2de4f98 100644
--- a/src/libstd/net_tcp.rs
+++ b/src/libstd/net_tcp.rs
@@ -734,7 +734,6 @@ fn listen_for_conn(host_ip: ip::ip_addr, port: uint, backlog: uint,
           }
         }
     };
-    let mut kill_result: option<tcp_err_data> = none;
     alt comm::recv(setup_po) {
       some(err_data) {
         // we failed to bind/list w/ libuv
@@ -742,7 +741,7 @@ fn listen_for_conn(host_ip: ip::ip_addr, port: uint, backlog: uint,
       }
       none {
         on_establish_cb(kill_ch);
-        kill_result = comm::recv(kill_po);
+        let kill_result = comm::recv(kill_po);
         uv::hl::interact(hl_loop) {|loop_ptr|
             log(debug, #fmt("tcp::listen post-kill recv hl interact %?",
                             loop_ptr));
diff --git a/src/libstd/rope.rs b/src/libstd/rope.rs
index e330ae93b49..ba42f0e633b 100644
--- a/src/libstd/rope.rs
+++ b/src/libstd/rope.rs
@@ -753,7 +753,7 @@ mod node {
                execution and should be discarded as meaningless afterwards.
     "]
     fn tree_from_forest_destructive(forest: [mut @node]) -> @node {
-        let mut i = 0u;
+        let mut i;
         let mut len = vec::len(forest);
         while len > 1u {
             i = 0u;
@@ -1020,7 +1020,6 @@ mod node {
         let ita = char_iterator::start(a);
         let itb = char_iterator::start(b);
         let mut result = 0;
-        let mut pos = 0u;
         while result == 0 {
             alt((char_iterator::next(ita), char_iterator::next(itb))) {
               (option::none, option::none) {
@@ -1036,7 +1035,6 @@ mod node {
                 result = -1;
               }
             }
-            pos += 1u;
         }
         ret result;
     }
diff --git a/src/rustc/back/link.rs b/src/rustc/back/link.rs
index 5541bbd8451..365d7752239 100644
--- a/src/rustc/back/link.rs
+++ b/src/rustc/back/link.rs
@@ -429,15 +429,14 @@ fn symbol_hash(tcx: ty::ctxt, sha: sha1, t: ty::t,
 }
 
 fn get_symbol_hash(ccx: @crate_ctxt, t: ty::t) -> str {
-    let mut hash = "";
     alt ccx.type_sha1s.find(t) {
-      some(h) { hash = h; }
+      some(h) { ret h; }
       none {
-        hash = symbol_hash(ccx.tcx, ccx.sha, t, ccx.link_meta);
+        let hash = symbol_hash(ccx.tcx, ccx.sha, t, ccx.link_meta);
         ccx.type_sha1s.insert(t, hash);
+        ret hash;
       }
     }
-    ret hash;
 }
 
 
diff --git a/src/rustc/driver/driver.rs b/src/rustc/driver/driver.rs
index 0cb99af2141..fa60fa5934a 100644
--- a/src/rustc/driver/driver.rs
+++ b/src/rustc/driver/driver.rs
@@ -587,8 +587,8 @@ fn build_output_filenames(input: input,
                           ofile: option<str>,
                           sess: session)
         -> output_filenames {
-    let mut obj_path = "";
-    let mut out_path: str = "";
+    let mut obj_path; // FIXME remove mut after snapshot
+    let mut out_path; // FIXME remove mut after snapshot
     let sopts = sess.opts;
     let stop_after_codegen =
         sopts.output_type != link::output_type_exe ||
diff --git a/src/rustc/middle/trans/base.rs b/src/rustc/middle/trans/base.rs
index c60a6446fc4..aece631bf5d 100644
--- a/src/rustc/middle/trans/base.rs
+++ b/src/rustc/middle/trans/base.rs
@@ -3855,7 +3855,7 @@ fn trans_break_cont(bcx: block, to_end: bool)
     let _icx = bcx.insn_ctxt("trans_break_cont");
     // Locate closest loop block, outputting cleanup as we go.
     let mut unwind = bcx;
-    let mut target = bcx;
+    let mut target = bcx; // FIXME---not necc. but tstate thinks it is
     loop {
         alt unwind.kind {
           block_scope({loop_break: some(brk), _}) {
diff --git a/src/rustc/middle/tstate/auxiliary.rs b/src/rustc/middle/tstate/auxiliary.rs
index ecd6b43a7f0..7749ec07e80 100644
--- a/src/rustc/middle/tstate/auxiliary.rs
+++ b/src/rustc/middle/tstate/auxiliary.rs
@@ -472,7 +472,8 @@ fn node_id_to_def(ccx: crate_ctxt, id: node_id) -> option<def> {
 
 fn norm_a_constraint(id: def_id, c: constraint) -> [norm_constraint] {
     let mut rslt: [norm_constraint] = [];
-    for vec::each(*c.descs) {|pd|
+    let descs = *c.descs;
+    for vec::each(descs) {|pd|
         rslt +=
             [{bit_num: pd.node.bit_num,
               c: respan(pd.span, {path: c.path,
diff --git a/src/rustc/middle/tstate/pre_post_conditions.rs b/src/rustc/middle/tstate/pre_post_conditions.rs
index 20a1c7bff85..fd8e9ddaf22 100644
--- a/src/rustc/middle/tstate/pre_post_conditions.rs
+++ b/src/rustc/middle/tstate/pre_post_conditions.rs
@@ -167,7 +167,7 @@ fn join_then_else(fcx: fn_ctxt, antec: @expr, conseq: blk,
 }
 
 fn gen_if_local(fcx: fn_ctxt, lhs: @expr, rhs: @expr, larger_id: node_id,
-                new_var: node_id, pth: @path) {
+                new_var: node_id) {
     alt node_id_to_def(fcx.ccx, new_var) {
       some(d) {
         alt d {
@@ -206,7 +206,7 @@ fn handle_update(fcx: fn_ctxt, parent: @expr, lhs: @expr, rhs: @expr,
           _ { }
         }
 
-        gen_if_local(fcx, lhs, rhs, parent.id, lhs.id, p);
+        gen_if_local(fcx, lhs, rhs, parent.id, lhs.id);
         alt rhs.node {
           expr_path(p1) {
             let d = local_node_id_to_local_def_id(fcx, lhs.id);
diff --git a/src/rustc/middle/tstate/states.rs b/src/rustc/middle/tstate/states.rs
index abfe2989f78..c6f927e6efa 100644
--- a/src/rustc/middle/tstate/states.rs
+++ b/src/rustc/middle/tstate/states.rs
@@ -197,30 +197,6 @@ fn find_pre_post_state_exprs(fcx: fn_ctxt, pres: prestate, id: node_id,
     ret changed;
 }
 
-fn find_pre_post_state_loop(fcx: fn_ctxt, pres: prestate, l: @local,
-                            index: @expr, body: blk, id: node_id) -> bool {
-    // I'm confused about this -- how does the poststate for the body
-    // ever grow larger? It seems like it can't?
-    let loop_pres = intersect_states(pres, block_poststate(fcx.ccx, body));
-
-    let mut changed =
-        set_prestate_ann(fcx.ccx, id, loop_pres) |
-            find_pre_post_state_expr(fcx, pres, index);
-
-    let index_post = tritv_clone(expr_poststate(fcx.ccx, index));
-    changed |= find_pre_post_state_block(fcx, index_post, body);
-
-    if has_nonlocal_exits(body) {
-        // See [Break-unsound]
-        ret changed | set_poststate_ann(fcx.ccx, id, pres);
-    } else {
-        let res_p =
-            intersect_states(expr_poststate(fcx.ccx, index),
-                             block_poststate(fcx.ccx, body));
-        ret changed | set_poststate_ann(fcx.ccx, id, res_p);
-    }
-}
-
 fn join_then_else(fcx: fn_ctxt, antec: @expr, conseq: blk,
                   maybe_alt: option<@expr>, id: node_id, chk: if_ty,
                   pres: prestate) -> bool {
@@ -664,7 +640,6 @@ fn find_pre_post_state_block(fcx: fn_ctxt, pres0: prestate, b: blk) -> bool {
 fn find_pre_post_state_fn(fcx: fn_ctxt,
                           f_decl: fn_decl,
                           f_body: blk) -> bool {
-    let num_constrs = num_constraints(fcx.enclosing);
     // All constraints are considered false until proven otherwise.
     // This ensures that intersect works correctly.
     kill_all_prestate(fcx, f_body.node.id);
diff --git a/src/rustc/middle/typeck/check.rs b/src/rustc/middle/typeck/check.rs
index f3c10547708..60e69d2cb05 100644
--- a/src/rustc/middle/typeck/check.rs
+++ b/src/rustc/middle/typeck/check.rs
@@ -1481,7 +1481,7 @@ fn check_expr_with_unifier(fcx: @fn_ctxt,
           }
           some(bexpr) {
             let bexpr_t = fcx.expr_ty(bexpr);
-            let mut base_fields: [field] = [];
+            let mut base_fields; // FIXME remove mut after snapshot
             alt structure_of(fcx, expr.span, bexpr_t) {
               ty::ty_rec(flds) { base_fields = flds; }
               _ {
diff --git a/src/rustc/middle/typeck/check/alt.rs b/src/rustc/middle/typeck/check/alt.rs
index 268777f5aaf..67e498880d3 100644
--- a/src/rustc/middle/typeck/check/alt.rs
+++ b/src/rustc/middle/typeck/check/alt.rs
@@ -5,7 +5,7 @@ fn check_alt(fcx: @fn_ctxt,
              discrim: @ast::expr,
              arms: [ast::arm]) -> bool {
     let tcx = fcx.ccx.tcx;
-    let mut bot = false;
+    let mut bot;
 
     let pattern_ty = fcx.infcx.next_ty_var();
     bot = check_expr_with(fcx, discrim, pattern_ty);
diff --git a/src/test/compile-fail/borrowck-pure-scope-in-call.rs b/src/test/compile-fail/borrowck-pure-scope-in-call.rs
index 8c5dd361bae..9e83fd4be35 100644
--- a/src/test/compile-fail/borrowck-pure-scope-in-call.rs
+++ b/src/test/compile-fail/borrowck-pure-scope-in-call.rs
@@ -18,6 +18,8 @@ fn test2() {
 
     pure_borrow(x, x = ~5);  //! ERROR assigning to mutable local variable prohibited due to outstanding loan
     //!^ NOTE loan of mutable local variable granted here
+
+    copy x;
 }
 
 fn main() {
diff --git a/src/test/compile-fail/liveness-unused b/src/test/compile-fail/liveness-unused
new file mode 100755
index 00000000000..35ec482f6c7
--- /dev/null
+++ b/src/test/compile-fail/liveness-unused
Binary files differdiff --git a/src/test/compile-fail/no-reuse-move-arc.rs b/src/test/compile-fail/no-reuse-move-arc.rs
index a9ff80637a1..34adff6f0ae 100644
--- a/src/test/compile-fail/no-reuse-move-arc.rs
+++ b/src/test/compile-fail/no-reuse-move-arc.rs
@@ -1,4 +1,3 @@
-// error-pattern: unsatisfied precondition constraint
 use std;
 import std::arc;
 import comm::*;
@@ -6,13 +5,13 @@ import comm::*;
 fn main() {
     let v = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
     let arc_v = arc::arc(v);
-    
-    task::spawn() {|move arc_v|
+
+    task::spawn() {|move arc_v| //! NOTE move of variable occurred here
         let v = *arc::get(&arc_v);
         assert v[3] == 4;
     };
 
-    assert (*arc::get(&arc_v))[2] == 3;
+    assert (*arc::get(&arc_v))[2] == 3; //! ERROR use of moved variable: `arc_v`
 
     log(info, arc_v);
 }