1 个不稳定版本
0.1.0 | 2022年2月22日 |
---|
#6 在 #proj
7KB
100 行
field-project
为所有类型提供泛型投影!这个包通过添加 Project
特性和 proj!
宏到 Rust 中的所有类型来支持投影。无需 derive!
use std::pin::Pin;
use field_project::proj;
struct Foo {
a: i32,
b: &'static str,
}
fn main() {
let foo = Box::pin(Foo { a: 42, b: "hello, world" });
let a: Pin<_> = proj!(foo.a);
let b = proj!(foo.b);
println!("a: {:?}, b: {:?}", a, b);
}