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() {
|
|
|
|
let str s = "hello";
|
|
|
|
let int x = 0;
|
2011-05-02 19:47:24 -05:00
|
|
|
assert (s.(x) == (0x68 as u8));
|
2010-06-23 23:03:09 -05:00
|
|
|
|
|
|
|
// 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.
|
|
|
|
|
|
|
|
// Bounds-check failure.
|
2011-05-02 19:47:24 -05:00
|
|
|
assert (s.(x + 6) == (0x0 as u8));
|
2010-06-23 23:03:09 -05:00
|
|
|
}
|