raw-transmute 1.0.0

A more permissive alternative to mem::transmute, because you know better.
Documentation
# Raw Transmute

[![crates.io](https://img.shields.io/crates/v/raw-transmute.svg)](https://crates.io/crates/raw-transmute)
[![docs.rs](https://img.shields.io/docsrs/raw-transmute.svg)](https://docs.rs/raw-transmute)
[![license](https://img.shields.io/crates/l/raw-transmute.svg)](https://unlicense.org/)
[![repository](https://img.shields.io/badge/repo-codeberg.org-blue.svg)](https://codeberg.org/Aseminaunz/raw-transmute)
[![no-std](https://img.shields.io/badge/no--std-compatible-green.svg)](https://docs.rs/raw-transmute)

Rust's own built-in `transmute` is, ironically, quite limited.

It does not support generically-sized types, nor types with different sizes.
This crate provides a more permissive alternative through the use of unions:
 - `raw_transmute` to unsafely transmute between any two types, regardless of size or
   genericity.
 - `raw_transmute_uninit` to safely transmute into a `MaybeUninit` of the destination type.

The MSRV for this crate is Rust 1.31. However, some features require later versions:
 - Transmuting into `MaybeUninit` requires Rust 1.36 or later.
 - Transmuting for non-`Copy` types requires Rust 1.49 or later.
 - `const` support for both functions requires Rust 1.56 or later.