#repr #transmute #attributes #replace #type #typic #transmutations

typic-derive

在布局兼容类型之间进行类型安全的转换

5个不稳定版本

0.3.0 2020年6月30日
0.2.2 2020年2月7日
0.2.1 2020年2月7日
0.2.0 2020年2月6日
0.1.0 2019年12月28日

#31 in #transmute

每月 21 次下载
用于 typic

MIT/Apache

10KB
231

Typic

Typic帮助您大胆地进行转换。它担心的是正确性安全性,这样您就不用担心了!

Documentation Crates.io

只需导入并替换您的#[repr(...)]属性,用#[typic::repr(...)]

// Import it!
use typic::{self, TransmuteInto};

// Update your attributes!
#[typic::repr(C)]
pub struct Foo(pub u8, pub u16);

// Transmute fearlessly!
let _ : Foo = u32::default().transmute_into(); // Alchemy achieved!
let _ : u32 = Foo::default().transmute_into(); // Compiler Error!

许可证

根据您的选择,许可协议为Apache License,版本2.0MIT许可证
除非您明确声明,否则根据Apache-2.0许可证定义的,您提交的任何有意包含在此软件包中的贡献,将如上所述双重许可,不附加任何额外条款或条件。

依赖项

~1.5MB
~35K SLoC