transvec 0.3.1

A crate to safely transmute Vecs
Documentation

transvec

transvec is a crate for transmuting Vecs without copying.

Installation

Add this to your Cargo.toml:

[dependencies]
transvec = "0.3.1"

Usage

use transvec::transmute_vec;
let input: Vec<u8> = vec![1, 2, 3, 4];
let output: Vec<u16, _> = transmute_vec(input).unwrap();

Nightly

This is nightly because it's blocked on the allocator_api, which is how this crate can get around the aligment issue.

You can however turn off default features to make it work on stable, with the only options being transmute_vec_basic and transmute_vec_basic_may_copy.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Licenses