Is it a bug?
$ zig version
0.14.0-dev.2851+b074fb7dd
const foo1 = "0123456789"[7..9];
const foo2 = "0123456789"[0..2];
const bar1: []const u8 = "0123456789"[7..9];
const bar2: []const u8 = "0123456789"[0..2];
comptime {
@compileLog(foo1);
@compileLog(foo2);
@compileLog(bar1);
@compileLog(bar2);
}
output:
@as(*const [2]u8, "0123456789")
@as(*const [2]u8, "0123456789")
@as([]const u8, "0123456789"[0..2])
@as([]const u8, "0123456789"[0..2])
expected:
@as(*const [2]u8, "78")
@as(*const [2]u8, "01")
@as([]const u8, "78"[0..2]) or @as([]const u8, "0123456789"[7..9])
@as([]const u8, "01"[0..2]) or @as([]const u8, "0123456789"[0..2])