type Window { bytes: Span, } fn middle(bytes: Span) -> Span { return bytes[1..3] } fn spanWindow(bytes: Span) -> Span { return bytes[1..4] } pub fn main(world: World) -> Void raises { let bytes: [5]u8 = [65, 66, 67, 68, 69] let start: usize = 1 let end: usize = 4 let arraySlice: Span = bytes[start..end] let span: Span = std.mem.span("ABCDE") let spanSlice: Span = span[1..4] let window: Window = Window { bytes: middle(span) } if std.mem.len(arraySlice) == 3 && arraySlice[0] == 66 && std.mem.len(spanSlice) == 3 && spanSlice[2] == 68 && std.mem.len(window.bytes) == 2 && window.bytes[1] == 67 && spanWindow(span)[2] == 68 { check world.out.write("range slices ok\n") } }