2011-06-15 13:19:50 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-23 23:03:09 -05:00
|
|
|
// -*- rust -*-
|
|
|
|
|
2011-05-12 14:45:29 -05:00
|
|
|
// error-pattern:bounds check
|
2010-06-23 23:03:09 -05:00
|
|
|
fn main() {
|
2011-07-27 07:19:39 -05:00
|
|
|
let s: str = "hello";
|
|
|
|
let x: int = 0;
|
2011-06-15 13:19:50 -05:00
|
|
|
assert (s.(x) == 0x68 as u8);
|
|
|
|
// NB: at the moment a string always has a trailing NULL,
|
|
|
|
// so the largest index value on the string above is 5, not
|
|
|
|
// 4. Possibly change this.
|
2010-06-23 23:03:09 -05:00
|
|
|
|
2011-06-15 13:19:50 -05:00
|
|
|
// Bounds-check failure.
|
2010-06-23 23:03:09 -05:00
|
|
|
|
2011-06-15 13:19:50 -05:00
|
|
|
assert (s.(x + 6) == 0x0 as u8);
|
|
|
|
}
|