1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use std::marker::PhantomData; use std::panic::{RefUnwindSafe, UnwindSafe}; use std::rc::Rc; // Zero sized marker with the correct set of autotrait impls we want all proc // macro types to have. pub(crate) type Marker = PhantomData<ProcMacroAutoTraits>; pub(crate) use self::value::*; mod value { pub(crate) use std::marker::PhantomData as Marker; } pub(crate) struct ProcMacroAutoTraits(Rc<()>); impl UnwindSafe for ProcMacroAutoTraits {} impl RefUnwindSafe for ProcMacroAutoTraits {}