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