# Ati, ergonomic indexing of `Vec` The `ati` crate introduces the `At` trait, and implements it for `Vec`, `VecDeque`, `[T; L]` and `LinkedList`. The `At` trait adds a `at` and `at_mut` method, which allows collections to be indexed by `u8, u16, u32, u64, u128`, as well as `i8, i16, i32, i64, i128, isize`. Negative indexes allows for indexing in the reverse direction, exactly how the Javascript [`at`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at) function works, or Python indexing. ## Examples ```rust use ati::At; fn main() { let mut v = vec![1,2,3]; assert_eq!(1, *v.at(0u8)); assert_eq!(3, *v.at(-1u128)); *v.at_mut(-1) = 5; assert_eq!(&[1, 2, 5], &v[..]); } ```