blob: a91696a6fd513a3c56dd5aa68e59af525cd66ba9 [file] [log] [blame]
//! Test that only usize can be used for indexing arrays and slices.
pub fn main() {
let v: Vec<isize> = vec![0, 1, 2, 3, 4, 5];
let s: String = "abcdef".to_string();
// Valid indexing with usize
v[3_usize];
v[3];
v[3u8]; //~ ERROR the type `[isize]` cannot be indexed by `u8`
v[3i8]; //~ ERROR the type `[isize]` cannot be indexed by `i8`
v[3u32]; //~ ERROR the type `[isize]` cannot be indexed by `u32`
v[3i32]; //~ ERROR the type `[isize]` cannot be indexed by `i32`
s.as_bytes()[3_usize];
s.as_bytes()[3];
s.as_bytes()[3u8]; //~ ERROR the type `[u8]` cannot be indexed by `u8`
s.as_bytes()[3i8]; //~ ERROR the type `[u8]` cannot be indexed by `i8`
s.as_bytes()[3u32]; //~ ERROR the type `[u8]` cannot be indexed by `u32`
s.as_bytes()[3i32]; //~ ERROR the type `[u8]` cannot be indexed by `i32`
}