error[E0277]: the type `[isize]` cannot be indexed by `u8`
  --> $DIR/integral-indexing.rs:6:5
   |
LL |     v[3u8];
   |     ^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[isize]>` is not implemented for `u8`
   = note: required because of the requirements on the impl of `std::ops::Index<u8>` for `std::vec::Vec<isize>`

error[E0277]: the type `[isize]` cannot be indexed by `i8`
  --> $DIR/integral-indexing.rs:7:5
   |
LL |     v[3i8];
   |     ^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[isize]>` is not implemented for `i8`
   = note: required because of the requirements on the impl of `std::ops::Index<i8>` for `std::vec::Vec<isize>`

error[E0277]: the type `[isize]` cannot be indexed by `u32`
  --> $DIR/integral-indexing.rs:8:5
   |
LL |     v[3u32];
   |     ^^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[isize]>` is not implemented for `u32`
   = note: required because of the requirements on the impl of `std::ops::Index<u32>` for `std::vec::Vec<isize>`

error[E0277]: the type `[isize]` cannot be indexed by `i32`
  --> $DIR/integral-indexing.rs:9:5
   |
LL |     v[3i32];
   |     ^^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[isize]>` is not implemented for `i32`
   = note: required because of the requirements on the impl of `std::ops::Index<i32>` for `std::vec::Vec<isize>`

error[E0277]: the type `[u8]` cannot be indexed by `u8`
  --> $DIR/integral-indexing.rs:12:5
   |
LL |     s.as_bytes()[3u8];
   |     ^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u8`
   = note: required because of the requirements on the impl of `std::ops::Index<u8>` for `[u8]`

error[E0277]: the type `[u8]` cannot be indexed by `i8`
  --> $DIR/integral-indexing.rs:13:5
   |
LL |     s.as_bytes()[3i8];
   |     ^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `i8`
   = note: required because of the requirements on the impl of `std::ops::Index<i8>` for `[u8]`

error[E0277]: the type `[u8]` cannot be indexed by `u32`
  --> $DIR/integral-indexing.rs:14:5
   |
LL |     s.as_bytes()[3u32];
   |     ^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u32`
   = note: required because of the requirements on the impl of `std::ops::Index<u32>` for `[u8]`

error[E0277]: the type `[u8]` cannot be indexed by `i32`
  --> $DIR/integral-indexing.rs:15:5
   |
LL |     s.as_bytes()[3i32];
   |     ^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize`
   |
   = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `i32`
   = note: required because of the requirements on the impl of `std::ops::Index<i32>` for `[u8]`

error: aborting due to 8 previous errors

For more information about this error, try `rustc --explain E0277`.
