authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-12-12 21:50:37-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-12-12 21:56:13-05:00
log84619abe9f16bc030c5bdb888f47a9b49b87c2ff
tree8c1848fb68ad09424804b930c0c26f63568df4cb
parentd295279b16dd21ec5263c4db2f08e182ccb4fad0

add test for allowing slice[slice.len..slice.len]


1 files changed, 10 insertions(+), 0 deletions(-)

test/cases/slice.zig+10
...@@ -1,4 +1,5 @@...@@ -1,4 +1,5 @@
1const assert = @import("std").debug.assert;1const assert = @import("std").debug.assert;
2const mem = @import("std").mem;
23
3const x = @intToPtr(&i32, 0x1000)[0..0x500];4const x = @intToPtr(&i32, 0x1000)[0..0x500];
4const y = x[0x100..];5const y = x[0x100..];
...@@ -15,3 +16,12 @@ test "slice child property" {...@@ -15,3 +16,12 @@ test "slice child property" {
15 var slice = array[0..];16 var slice = array[0..];
16 assert(@typeOf(slice).Child == i32);17 assert(@typeOf(slice).Child == i32);
17}18}
19
20test "debug safety lets us slice from len..len" {
21 var an_array = []u8{1, 2, 3};
22 assert(mem.eql(u8, sliceFromLenToLen(an_array[0..], 3, 3), ""));
23}
24
25fn sliceFromLenToLen(a_slice: []u8, start: usize, end: usize) -> []u8 {
26 return a_slice[start..end];
27}