rust/src/lib
Tim Chevalier 3130348ee1 Started adding support for typestate checking.
I added a new field to the ast "ann" type for typestate information.
Currently, the field contains a record of a precondition bit vector and
postcondition vector, but I tried to structure things so as to make
it easy to change the representation of the typestate annotation type.
I also had to add annotations to some syntactic forms that didn't have
them before (fail, ret, be...), with all the boilerplate changes
that that would imply.

The main call to the typestate_check entry point is commented out and
the actual pre-postcondition algorithm only has a few cases
implemented, though the overall AST traversal is there. The rest of
the typestate algorithm isn't implemented yet.
2011-04-01 11:27:32 -07:00
..
_int.rs Make some standard library pieces no longer dependent on mutable parameters, which rustc doesn't support 2011-03-18 13:32:15 -07:00
_str.rs Start making the standard-lib utf-8 aware 2011-03-25 08:22:52 -07:00
_task.rs Reformat standard library; no code changes. 2010-09-22 15:44:13 -07:00
_u8.rs Reformat standard library; no code changes. 2010-09-22 15:44:13 -07:00
_uint.rs rustc: Parse definition IDs from crates; add a function to parse unsigned ints to the standard library 2011-03-25 18:35:30 -07:00
_vec.rs Started adding support for typestate checking. 2011-04-01 11:27:32 -07:00
bitv.rs Add "mutable?" to _vec in the standard library; fix callers 2011-03-18 14:01:03 -07:00
dbg.rs Remove redundant imports in lib (rustc doesn't like 'std' as a synonym for root within std.rc anyway) 2011-03-09 17:29:18 -08:00
deque.rs Revert "Remove usages of case(_) { fail; } since the compiler does this automatically". When we have exhaustiveness checking, "case(_) { fail; }" will be useful to silence warnings. 2011-03-22 14:02:52 -07:00
ebml.rs rustc: Use the crate index to look up defs 2011-03-31 14:37:44 -07:00
fs.rs Start making the standard-lib utf-8 aware 2011-03-25 08:22:52 -07:00
io.rs rustc: Use the crate index to look up defs 2011-03-31 14:37:44 -07:00
linux_os.rs stdlib: Separate basic I/O reading functionality into a separate buf_reader object, like writing 2011-03-25 14:06:18 -07:00
list.rs rustc: Fix list.foldl() to pass its second argument by alias 2011-03-18 15:19:32 -07:00
macos_os.rs stdlib: Separate basic I/O reading functionality into a separate buf_reader object, like writing 2011-03-25 14:06:18 -07:00
map.rs Revert "Remove usages of case(_) { fail; } since the compiler does this automatically". When we have exhaustiveness checking, "case(_) { fail; }" will be useful to silence warnings. 2011-03-22 14:02:52 -07:00
option.rs Add an option.is_none() method 2011-03-17 11:21:11 -07:00
posix_fs.rs Remove uses of 'break' in std lib; rustc doesn't support it yet, this is easier for now. 2011-03-16 16:47:27 -07:00
rand.rs Reformat standard library; no code changes. 2010-09-22 15:44:13 -07:00
run_program.rs stdlib: Separate basic I/O reading functionality into a separate buf_reader object, like writing 2011-03-25 14:06:18 -07:00
sha1.rs Add a result_str method to std.sha1.sha1. 2011-03-26 17:36:08 -07:00
sort.rs Switch all vases of vec += elt to vec += vec. Prohibit former in rustboot. Tweak std lib vec fns in process. 2011-03-16 14:58:02 -07:00
std.rc Start making the standard-lib utf-8 aware 2011-03-25 08:22:52 -07:00
sys.rs First pass on splitting stratum and opacity off of effects. WIP. 2010-11-02 11:11:58 -07:00
util.rs Move the option type to its own module 2010-11-05 11:18:40 -07:00
win32_fs.rs Switch win32 path_sep to '/', add comment explaining a bit. 2011-03-20 19:43:43 -07:00
win32_os.rs stdlib: Separate basic I/O reading functionality into a separate buf_reader object, like writing 2011-03-25 14:06:18 -07:00