2011-06-15 11:19:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-23 21:03:09 -07:00
|
|
|
// -*- rust -*-
|
|
|
|
|
2011-05-12 21:45:29 +02:00
|
|
|
// error-pattern:bounds check
|
2010-06-23 21:03:09 -07:00
|
|
|
fn main() {
|
2011-06-15 11:19:50 -07:00
|
|
|
let str s = "hello";
|
|
|
|
let int x = 0;
|
|
|
|
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 21:03:09 -07:00
|
|
|
|
2011-06-15 11:19:50 -07:00
|
|
|
// Bounds-check failure.
|
2010-06-23 21:03:09 -07:00
|
|
|
|
2011-06-15 11:19:50 -07:00
|
|
|
assert (s.(x + 6) == 0x0 as u8);
|
|
|
|
}
|