| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
This should be a snapshot transition.
|
| |
|
|
| |
(Have fun mergining your stuff with this.)
|
| |
|
|
| |
This should make compilation a bit less noisy.
|
| |
|
|
|
|
| |
the problem.
This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118.
|
| |
|
|
| |
This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet.
|
| |
|
|
|
|
|
|
|
|
| |
This giant commit changes the syntax of Rust to use "assert" for
"check" expressions that didn't mean anything to the typestate
system, and continue using "check" for checks that are used as
part of typestate checking.
Most of the changes are just replacing "check" with "assert" in test
cases and rustc.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Also changed the ts_ann field on statements to be an ann instead,
which explains most of the changes.
As well, got rid of the "warning: no type for expression" error
by filling in annotations for local decls in typeck (not sure whether
this was my fault or not).
Finally, in bitv, added a clone() function to copy a bit vector,
and fixed is_true, is_false, and to_str to not be nonsense.
|
| |
|
|
|
| |
The typestate checker (if it's uncommented) now correctly rejects a
trivial example program that has an uninitialized variable.
|
| |
|
|
|
|
|
|
|
| |
It's still sketchy. I added a typestate annotation field to statements
tagged stmt_decl or stmt_expr, because a stmt_decl statement has a typestate
that's different from that of its child node. This necessitated trivial
changes to a bunch of other files all over to the compiler. I also added a
few small standard library functions, some of which I didn't actually end
up using but which I thought might be useful anyway.
|
| | |
|
| |
|
|
| |
root within std.rc anyway)
|
| |
|
|
| |
library.
|
| |
|
|
| |
impure-effect checking.
|
| | |
|
| |
|