]> git.lizzy.rs Git - rust.git/commit
borrowck: classify expressions as assignees, uses or both
authorEdward Wang <edward.yu.wang@gmail.com>
Thu, 6 Mar 2014 14:58:34 +0000 (22:58 +0800)
committerEdward Wang <edward.yu.wang@gmail.com>
Sun, 9 Mar 2014 15:23:28 +0000 (23:23 +0800)
commitabfde39b0e904cf39d3fbf392d747f4f168017ec
tree6b21be65a51483cd0dcdf0b01931a0fa55f95526
parent62f1d68439dcfd509eaca29887afa97f22938373
borrowck: classify expressions as assignees, uses or both

- Repurposes `MoveData.assignee_ids` to mean only `=` but not `+=`, so
  that borrowck effectively classifies all expressions into assignees,
  uses or both.
- Removes two `span_err` in liveness analysis, which are now borrowck's
  responsibilities.

Closes #12527.
46 files changed:
src/librustc/middle/borrowck/gather_loans/gather_moves.rs
src/librustc/middle/borrowck/gather_loans/mod.rs
src/librustc/middle/borrowck/mod.rs
src/librustc/middle/borrowck/move_data.rs
src/librustc/middle/liveness.rs
src/test/compile-fail/asm-out-read-uninit.rs
src/test/compile-fail/borrowck-and-init.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-block-unint.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-break-uninit-2.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-break-uninit.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-if-no-else.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-if-with-else.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-init-in-called-fn-expr.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-init-in-fn-expr.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-init-in-fru.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-init-op-equal.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-init-plus-equal.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-or-init.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-return.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-uninit-after-item.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-uninit-in-assignop.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-uninit.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-use-in-index-lvalue.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-while-break.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-while-cond.rs [new file with mode: 0644]
src/test/compile-fail/borrowck-while.rs [new file with mode: 0644]
src/test/compile-fail/liveness-and-init.rs [deleted file]
src/test/compile-fail/liveness-block-unint.rs [deleted file]
src/test/compile-fail/liveness-break-uninit-2.rs [deleted file]
src/test/compile-fail/liveness-break-uninit.rs [deleted file]
src/test/compile-fail/liveness-if-no-else.rs [deleted file]
src/test/compile-fail/liveness-if-with-else.rs [deleted file]
src/test/compile-fail/liveness-init-in-called-fn-expr.rs [deleted file]
src/test/compile-fail/liveness-init-in-fn-expr.rs [deleted file]
src/test/compile-fail/liveness-init-in-fru.rs [deleted file]
src/test/compile-fail/liveness-init-op-equal.rs [deleted file]
src/test/compile-fail/liveness-init-plus-equal.rs [deleted file]
src/test/compile-fail/liveness-or-init.rs [deleted file]
src/test/compile-fail/liveness-return.rs [deleted file]
src/test/compile-fail/liveness-uninit-after-item.rs [deleted file]
src/test/compile-fail/liveness-uninit.rs [deleted file]
src/test/compile-fail/liveness-unused.rs
src/test/compile-fail/liveness-use-in-index-lvalue.rs [deleted file]
src/test/compile-fail/liveness-while-break.rs [deleted file]
src/test/compile-fail/liveness-while-cond.rs [deleted file]
src/test/compile-fail/liveness-while.rs [deleted file]