diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-05-19 05:52:01 -0700 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-05-24 09:52:03 -0700 |
| commit | 30b47649ea37d211ee2dec4c541e6ba1e64c31a8 (patch) | |
| tree | b6b5825a2711f7911bd64bd1e505d44253d4e256 /src/test/compile-fail/tstate-loop-constraints.rs | |
| parent | a3be0b105436118e187ea52deb89788afaf1edb5 (diff) | |
| download | rust-30b47649ea37d211ee2dec4c541e6ba1e64c31a8.tar.gz rust-30b47649ea37d211ee2dec4c541e6ba1e64c31a8.zip | |
new liveness pass to supercede last_use / initedness
Diffstat (limited to 'src/test/compile-fail/tstate-loop-constraints.rs')
| -rw-r--r-- | src/test/compile-fail/tstate-loop-constraints.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/compile-fail/tstate-loop-constraints.rs b/src/test/compile-fail/tstate-loop-constraints.rs new file mode 100644 index 00000000000..34ff0753d86 --- /dev/null +++ b/src/test/compile-fail/tstate-loop-constraints.rs @@ -0,0 +1,19 @@ +pure fn is_even(i: int) -> bool { (i%2) == 0 } +fn even(i: int) : is_even(i) -> int { i } + +fn main() { + + let mut x: int = 42; + loop { + loop { + loop { + check is_even(x); + even(x); // OK + loop { + even(x); //! ERROR unsatisfied precondition + x = 11; + } + } + } + } +} |
