//! returns: 0 /// Backing storage for explicit slice bounds. static DATA: [u8; 3] = [11, 22, 33]; /// Construct valid slices from stored pointers in an unsafe function. @default unsafe fn main() -> i32 { let s = @sliceOf(&DATA[0], 3); if s[2] <> 33 { return 1; } let t = @sliceOf(&mut DATA[0], 2, 3); if t.len <> 2 or t.cap <> 3 { return 2; } set t[1] = 44; if DATA[1] <> 44 { return 3; } return 0; }