locspan-derive 0.6.0

Derive macros for the `locspan` code mapping library
Documentation
use locspan::{BorrowStripped, Loc, Location};
use locspan_derive::{
	StrippedEq, StrippedHash, StrippedOrd, StrippedPartialEq, StrippedPartialOrd,
};

#[derive(
	PartialEq, StrippedPartialEq, StrippedEq, StrippedPartialOrd, StrippedOrd, StrippedHash, Debug,
)]
#[locspan(ignore(S, P))]
pub enum Foo<S, P> {
	A(#[locspan(deref_stripped)] Loc<usize, S, P>),
	B(#[locspan(stripped)] char, #[locspan(stripped)] usize),
	C(
		#[locspan(deref_stripped)] Loc<usize, S, P>,
		#[locspan(stripped)] char,
		u8,
	),
}

fn main() {
	let a = Foo::A(Loc(0, Location::new(0, ())));
	let b = Foo::A(Loc(0, Location::new(1, ())));

	assert_eq!(a.stripped(), b.stripped())
}