#derive #spans #source #map #macro-derive #code

locspan-derive

locspan 代码映射库提供派生宏

9 个版本 (5 个破坏性更新)

0.6.0 2022 年 11 月 3 日
0.5.2 2022 年 10 月 10 日
0.5.1 2022 年 7 月 2 日
0.4.0 2022 年 6 月 30 日
0.1.0 2022 年 6 月 28 日

#7 in #span

Download history 2753/week @ 2024-03-14 3649/week @ 2024-03-21 3616/week @ 2024-03-28 3973/week @ 2024-04-04 5448/week @ 2024-04-11 5067/week @ 2024-04-18 4869/week @ 2024-04-25 5212/week @ 2024-05-02 5265/week @ 2024-05-09 6621/week @ 2024-05-16 4758/week @ 2024-05-23 5151/week @ 2024-05-30 5027/week @ 2024-06-06 5322/week @ 2024-06-13 5627/week @ 2024-06-20 3727/week @ 2024-06-27

20,576 每月下载量
52 个包中使用 (通过 json-syntax)

MIT/Apache

44KB
1.5K SLoC

locspan 代码映射库提供派生宏。

CI Crate informations License Documentation

该库提供了 StrippedPartialEq 派生宏,用于自动实现 locspan 库中定义的 StrippedPartialEq 比较特性。

用法

use locspan::Loc;
use locspan_derive::StrippedPartialEq;

// Implement `StrippedPartialEq` for the `Foo` type.
// Type parameters will be required to implement
// `StrippedPartialEq` themselves unless they are marked
// with `#[stripped]`.
#[derive(StrippedPartialEq)]
struct Foo<T, #[stripped] S, #[stripped] P> {
  a: Loc<T, S, P>,

  // Files are compared using `StrippedPartialEq`
  // unless they are marked with `#[stripped]`, in
  // which case `PartialEq` is used.
  #[stripped]
  b: std::path::PathBuf
}

许可

许可协议为以下之一

由您选择。

贡献

除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。

依赖

~1.5MB
~35K SLoC