1 个不稳定版本
0.1.0 | 2021年12月26日 |
---|
#2218 in 过程宏
在 repr_c_pub_struct 中使用
7KB
这是一个简单的库,提供 ParenthesizedC
ZST,实现了 syn::parse::Parse
,因此,例如,可以与 syn::parse2
() 结合使用,用于解析 (C)
属性标记,如 #[repr(C)] 外部属性。
示例
extern crate syn;
extern crate outer_attribute;
extern crate parenthesized_c;
use parenthesized_c::ParenthesizedC;
use outer_attribute::different_layout::OuterAttribute;
fn main() -> syn::Result<()> {
let repr_c = syn::parse_str::<OuterAttribute>("#[repr(C)]")?;
let repr_transpartent = syn::parse_str::<OuterAttribute>("#[repr(transparent)]")?;
assert!(matches!(syn::parse2::<ParenthesizedC>(repr_c.tokens), Ok(_)));
assert!(matches!(syn::parse2::<ParenthesizedC>(repr_transpartent.tokens), Err(_)));
Ok(())
}
许可证
受Apache License 2.0或MIT许可证之一许可。除非你明确说明,否则你提交给该crate的任何贡献,根据Apache-2.0许可证定义,将按上述方式双许可,不附加任何额外条款或条件。
依赖项
~1.5MB
~34K SLoC