aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-fail/str-overrun.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-fail/str-overrun.rs')
-rw-r--r--src/test/run-fail/str-overrun.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/run-fail/str-overrun.rs b/src/test/run-fail/str-overrun.rs
new file mode 100644
index 00000000..7d5a12cb
--- /dev/null
+++ b/src/test/run-fail/str-overrun.rs
@@ -0,0 +1,16 @@
+// -*- rust -*-
+
+// error-pattern:bounds check
+
+fn main() {
+ let str s = "hello";
+ let int x = 0;
+ check (s.(x) == u8(0x68));
+
+ // 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.
+ check (s.(x + 6) == u8(0x0));
+}