This was a trick I saw here: astral-sh/ruff#10849 (comment)
This has a lot of nice qualities for derive that can help us with #2068:
- Eq
- Copy
- Debug
- Serialize/Deserialize (with
#[serde(skip)])
- Send/Sync (in case we ever do any async)
If a lifetime is stored in the PhantomData, then use PhantomData<fn() -> &'a &'b ... (T0, T1, ...)>.
This was a trick I saw here: astral-sh/ruff#10849 (comment)
This has a lot of nice qualities for derive that can help us with #2068:
#[serde(skip)])If a lifetime is stored in the PhantomData, then use
PhantomData<fn() -> &'a &'b ... (T0, T1, ...)>.