/// Returns a subslice with explicit bounds. fn sliceRange(s: *[i32], start: u32, end: u32) -> *[i32] { return &s[start..end]; } /// Returns a subslice with an open end bound. fn sliceRangeOpenEnd(s: *[i32], start: u32) -> *[i32] { return &s[start..]; } /// Returns a subslice with an open start bound. fn sliceRangeOpenStart(s: *[i32], end: u32) -> *[i32] { return &s[..end]; } /// Returns a full reslice of a slice. fn sliceRangeFull(s: *[i32]) -> *[i32] { return &s[..]; } /// Returns a subslice from an array parameter. fn sliceArray(a: [i32; 4]) -> *[i32] { return &a[1..3]; }