#source #code #map #span #derive

macro locspan-derive

Derive macros for the locspan code mapping library

9 releases (5 breaking)

Uses new Rust 2021

0.6.0 Nov 3, 2022
0.5.2 Oct 10, 2022
0.5.1 Jul 2, 2022
0.4.0 Jun 30, 2022
0.1.0 Jun 28, 2022

#136 in Parser tooling

Download history 25/week @ 2022-08-13 46/week @ 2022-08-20 58/week @ 2022-08-27 73/week @ 2022-09-03 38/week @ 2022-09-10 13/week @ 2022-09-17 24/week @ 2022-09-24 28/week @ 2022-10-01 82/week @ 2022-10-08 138/week @ 2022-10-15 83/week @ 2022-10-22 148/week @ 2022-10-29 89/week @ 2022-11-05 47/week @ 2022-11-12 121/week @ 2022-11-19 69/week @ 2022-11-26

387 downloads per month
Used in 9 crates (4 directly)

MIT/Apache

43KB
1.5K SLoC

Derive macros for the locspan code mapping library.

CI Crate informations License Documentation

This library provides the StrippedPartialEq derive macro used to automatically implement the StrippedPartialEq comparison trait defined in the locspan library.

Usage

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
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~255–670KB
~15K SLoC