#![allow(non_camel_case_types)] #![allow(dead_code)] use std::marker::PhantomData; use pin_init::*; // Ensure that the variables we use in proc_macro does not use wrong hygiene. #[pin_init] struct LocalHygiene { base: usize, ptr: usize, pin: usize, } #[pin_init] struct LocalHygienePin { #[pin] base: usize, #[pin] ptr: usize, #[pin] pin: usize, } #[pin_init] struct GenericHygiene { base: PhantomData, ptr: PhantomData, pin: PhantomData, } #[pin_init] struct GenericHygienePin { #[pin] base: PhantomData, #[pin] ptr: PhantomData, #[pin] pin: PhantomData, }