const print = @import("std").debug.print; pub fn main() void { const numbers = [_]u8{ 1, 2, 3, 4, 5 }; m(&numbers, numbers[3..4]); } fn m(n: []const u8, s: []const u8) void { print("{any}\n", .{s}); const max_ptr = @intFromPtr(n.ptr) + n.len; if (max_ptr > (@intFromPtr(s.ptr) + s.len)) { const start = @intFromPtr(s.ptr) - @intFromPtr(n.ptr); const end = s.len + start + 1; return m(n, n[start..end]); } else { return; } }