The PhantomPinned detection of #[pin_data] replaces the original path with ::core::marker::PhantomPinned. This leads to unused import warnings and might override a user-defined type named PhantomPinned (which is unlikely). So the user-specified path should be used.
It would also be ideal if it could be made into a warning instead of an error.
I think it's best to fix this once syn is used.