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