rust/src/comp/middle
Tim Chevalier 7c4f8cb459 Further work on typestate_check
Lots of work on typestate_check, seems to get a lot of the way
through checking the standard library.

* Added for, for_each, assign_op, bind, cast, put, check, break,
and cont. (I'm not sure break and cont are actually handled correctly.)

* Fixed side-effect bug in seq_preconds so that unioning the
preconditions of a sequence of statements or expressions
is handled correctly.

* Pass poststate correctly through a stmt_decl.

* Handle expr_ret and expr_fail properly (after execution of a ret
or fail, everything is true -- this is needed to handle ifs and alts
where one branch is a ret or fail)

* Fixed bug in set_prestate_ann where a thing that needed to be
mutated wasn't getting passed as an alias

* Fixed bug in how expr_alt was treated (zero is not the identity
for intersect, who knew, right?)

* Update logging to reflect log_err vs. log

* Fixed find_locals so as to return all local decls and exclude
function arguments.

* Make union_postconds work on an empty vector (needed to handle
empty blocks correctly)

* Added _vec.cat_options, which takes a list of option[T] to a list
of T, ignoring any Nones

* Added two test cases.
2011-04-28 13:26:19 -07:00
..
capture.rs Implement the "attempted dynamic environment-capture" error in rustc. 2011-04-11 15:35:01 -04:00
fold.rs Fix the signature of expr_ext 2011-04-21 20:42:26 -04:00
metadata.rs rustc: Use the abbreviated type names to avoid LLVM bitcode size explosion 2011-04-25 17:00:25 -07:00
resolve.rs replace error logging with log_err in stdlib and rustc 2011-04-19 16:57:13 +02:00
trans.rs Actually perform take/drop on args (oh my!) 2011-04-28 11:24:29 -07:00
ty.rs Use cnames when present in ty.ty_to_str. 2011-04-27 13:36:39 -07:00
typeck.rs rustc: Add a missing return value to Collect.ty_of_item() 2011-04-25 18:15:48 -07:00
typestate_check.rs Further work on typestate_check 2011-04-28 13:26:19 -07:00
walk.rs Fix walk bug that coupled with marijns work to regress stage1. 2011-04-20 22:52:33 +00:00