#transmute #repr #type #pub #attributes #type-safe #transmutations

no-std typic

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

3个版本 (破坏性)

0.3.0 2020年6月30日
0.2.3 2020年2月11日
0.1.0 2019年12月28日

#20 in #pub

MIT/Apache

90KB
1.5K SLoC

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, Version 2.0MIT许可证
除非您明确声明,否则您提交的任何贡献,根据Apache-2.0许可证定义,应按上述方式双许可,不附加任何额外的条款或条件。

依赖项

~1.5MB
~39K SLoC