Documentation
#[test]
fn register_buffers_by_val() {
    let buf1 = vec![0; 1024].into_boxed_slice();
    let buf2 = vec![0; 1024].into_boxed_slice();
    let ring = iou::IoUring::new(8).unwrap();
    let bufs: Vec<_> = ring.registrar()
                           .register_buffers(vec![buf1, buf2])
                           .unwrap().collect();
    assert_eq!(bufs.len(), 2);
    assert_eq!(bufs[0].index(), 0);
    assert_eq!(bufs[1].index(), 1);
}

#[test]
fn register_buffers_by_ref() {
    let buf1 = vec![0; 1024];
    let buf2 = vec![0; 1024];
    let ring = iou::IoUring::new(8).unwrap();
    let bufs = &[&buf1[..], &buf2[..]];
    let bufs: Vec<_> = ring.registrar()
                           .register_buffers_by_ref(bufs)
                           .unwrap().collect();
    assert_eq!(bufs.len(), 2);
    assert_eq!(bufs[0].index(), 0);
    assert_eq!(bufs[1].index(), 1);
}

#[test]
fn register_buffers_by_mut() {
    let mut buf1 = vec![0; 1024];
    let mut buf2 = vec![0; 1024];
    let ring = iou::IoUring::new(8).unwrap();
    let bufs = &mut [&mut buf1[..], &mut buf2[..]];
    let bufs: Vec<_> = ring.registrar()
                           .register_buffers_by_mut(bufs)
                           .unwrap().collect();
    assert_eq!(bufs.len(), 2);
    assert_eq!(bufs[0].index(), 0);
    assert_eq!(bufs[1].index(), 1);
}