revec 0.3.0

Convert a Vec<A> to a Vec<B> provided vec is empty
Documentation
  • Coverage
  • 50%
    1 out of 2 items documented0 out of 1 items with examples
  • Size
  • Source code size: 4.52 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 236.26 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 2s Average build duration of successful builds.
  • all releases: 2s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • tiby312/revec
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • tiby312

Allows a user to safely convert between Vec<A> and Vec<B> provided the vec is empty is A and B have the same memory size and alignment.

fn test() {
    let v:Vec<*mut usize> = Vec::new();

    assert_eq!(v.capacity(),0);
    
    let k = &mut [5usize, 4, 3, 2, 1];

    let mut v2:Vec<&usize>=convert_empty_vec(v);
    v2.extend(k.iter());

    assert_eq!(*v2[0], 5);

    v2.clear();
    assert!(v2.capacity()>=5);


    let mut v3:Vec<&mut usize>=convert_empty_vec(v2);
    assert!(v3.capacity()>=5);


    let k = &mut [5usize, 4, 3, 2, 1];

    v3.extend(k.iter_mut());

    assert_eq!(*v3[0], 5);

    
}