Empowering everyone to build reliable and efficient software.
Go to file
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
doc Add 'self' keyword. 2011-03-28 21:13:42 -07:00
src Started adding support for typestate checking. 2011-04-01 11:27:32 -07:00
.gitignore Fix rules for gitignoring in-tree build artifacts to not ignore legitimate parts of the source tree 2011-03-26 17:50:08 -07:00
AUTHORS.txt Add Lindsey to AUTHORS. 2011-03-22 14:25:07 -07:00
configure Add support for --enable-foo and --disable-foo flags to configure, that Makefile.in respects. 2011-03-30 04:45:09 +00:00
LICENSE.txt Populate tree. 2010-06-23 21:03:09 -07:00
Makefile.in Fix error where make check would not produce compilers first, due to make's infinite-recursion-prevention heuristic. 2011-03-31 14:58:44 -07:00
README Update README to point to github, test email notification. 2010-06-23 21:11:10 -07:00

This is a compiler and suite of associated libraries and documentation for the
Rust programming language.

See LICENSE.txt for terms of copyright and redistribution.

See http://github.com/graydon/rust for current development page.