arref 0.1.0

Make borrow mut elements from an array easier
Documentation
Getting mutable references to two elements from the same array is hard. This
tiny lib provides method to make it easier.

[array_mut_ref!] checks whether the user borrows the same element at runtime.

```rust
use arref::array_mut_ref;
let mut arr = vec![1, 2, 3, 4];
let (a, b) = array_mut_ref!(&mut arr, [1, 2]);
assert_eq!(*a, 2);
assert_eq!(*b, 3);
let (a, b, c) = array_mut_ref!(&mut arr, [1, 2, 0]);
assert_eq!(*c, 1);

// ⚠️ The following code will panic. Because we borrow the same element twice.
// let (a, b) = array_mut_ref!(&mut arr, [1, 1]);
```

Alternatively, you can use [mut_twice]. It won't panic if you borrow the same
element twice. It'll return an `Err(&mut T)` instead.

```rust
use arref::mut_twice;
let mut arr = vec![1, 2, 3];
let (a, b) = mut_twice(&mut arr, 1, 2).unwrap();
assert_eq!(*a, 2);
assert_eq!(*b, 3);
let result = mut_twice(&mut arr, 1, 1);
assert!(result.is_err());
if let Err(v) = result {
    assert_eq!(*v, 2);
}
```