3 个版本 (破坏性更新)
0.3.0 | 2024年4月8日 |
---|---|
0.2.0 | 2024年3月17日 |
0.1.0 | 2023年10月4日 |
#4 在 #miette
每月下载量 184
用于 3 crates
15KB
245 行
使用 miette
提供美观诊断信息的 syn::Error
包装器。
使用方法
let source = r"
pub struct {
num_yaks: usize
}";
let error = syn::parse_str::<syn::DeriveInput>(source).unwrap_err();
let error = syn_miette::Error::new(error, source);
assert_eq!(
error.render(), // only with `--feature render`
" × expected identifier
╭─[2:12]
1 │
2 │ pub struct {
· ┬
· ╰── expected identifier
3 │ num_yaks: usize
╰────
"
);
特别地,Error
正确渲染了已被 syn::Error::combine
组合的子元素
× duplicate definition of `Foo`
╭─[1:8]
1 │ struct Foo;
· ─┬─
· ╰── initial definition here
2 │ enum Bar {}
3 │ union Foo {}
· ─┬─
· ╰── duplicate definition of `Foo`
╰────
依赖项
~0.9–2MB
~34K SLoC