From 84619abe9f16bc030c5bdb888f47a9b49b87c2ff Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 12 Dec 2017 21:50:37 -0500 Subject: [PATCH] add test for allowing slice[slice.len..slice.len] --- test/cases/slice.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/cases/slice.zig b/test/cases/slice.zig index 1498f948ea..44df8aa612 100644 --- a/test/cases/slice.zig +++ b/test/cases/slice.zig @@ -1,4 +1,5 @@ const assert = @import("std").debug.assert; +const mem = @import("std").mem; const x = @intToPtr(&i32, 0x1000)[0..0x500]; const y = x[0x100..]; @@ -15,3 +16,12 @@ test "slice child property" { var slice = array[0..]; assert(@typeOf(slice).Child == i32); } + +test "debug safety lets us slice from len..len" { + var an_array = []u8{1, 2, 3}; + assert(mem.eql(u8, sliceFromLenToLen(an_array[0..], 3, 3), "")); +} + +fn sliceFromLenToLen(a_slice: []u8, start: usize, end: usize) -> []u8 { + return a_slice[start..end]; +}