| 1 | use alloc::rc::Rc; |
| 2 | use core::marker::PhantomData; |
| 3 | use core::panic::{RefUnwindSafe, UnwindSafe}; |
| 4 | |
| 5 | // Zero sized marker with the correct set of autotrait impls we want all proc |
| 6 | // macro types to have. |
| 7 | #[derive (Copy, Clone)] |
| 8 | #[cfg_attr ( |
| 9 | all(procmacro2_semver_exempt, any(not(wrap_proc_macro), super_unstable)), |
| 10 | derive(PartialEq, Eq) |
| 11 | )] |
| 12 | pub(crate) struct ProcMacroAutoTraits(PhantomData<Rc<()>>); |
| 13 | |
| 14 | pub(crate) const MARKER: ProcMacroAutoTraits = ProcMacroAutoTraits(PhantomData); |
| 15 | |
| 16 | impl UnwindSafe for ProcMacroAutoTraits {} |
| 17 | impl RefUnwindSafe for ProcMacroAutoTraits {} |
| 18 | |