[−][src]Macro pin_utils::unsafe_unpinned
macro_rules! unsafe_unpinned { ($f:tt: $t:ty) => { ... }; }
An unpinned projection of a struct field.
This macro is unsafe because it creates a method that returns a normal non-pin reference to the struct field. It is up to the programmer to ensure that the contained value can be considered not pinned in the current context.
struct Foo { field: Bar, } impl Foo { unsafe_unpinned!(field: Bar); fn baz(mut self: PinMut<Self>) { let _: &mut Bar = self.field(); // Normal reference to the field } }