Name Description Size
mod.rs This library defines the `PinCell` type, a pinning variant of the standard library's `RefCell`. It is not safe to "pin project" through a `RefCell` - getting a pinned reference to something inside the `RefCell` when you have a pinned refernece to the `RefCell` - because `RefCell` is too powerful. A `PinCell` is slightly less powerful than `RefCell`: unlike a `RefCell`, one cannot get a mutable reference into a `PinCell`, only a pinned mutable reference (`Pin<&mut T>`). This makes pin projection safe, allowing you to use interior mutability with the knowledge that `T` will never actually be moved out of the `RefCell` that wraps it. 3339
pin_mut.rs TODO implement these APIs impl<'a, T: ?Sized> PinMut<'a, T> { pub fn map<U, F>(orig: PinMut<'a, T>, f: F) -> PinMut<'a, U> where F: FnOnce(Pin<&mut T>) -> Pin<&mut U>, { panic!() } pub fn map_split<U, V, F>(orig: PinMut<'a, T>, f: F) -> (PinMut<'a, U>, PinMut<'a, V>) where F: FnOnce(Pin<&mut T>) -> (Pin<&mut U>, Pin<&mut V>) { panic!() } } 1201
pin_ref.rs TODO implement these APIs impl<'a, T: ?Sized> PinRef<'a, T> { pub fn clone(orig: &PinRef<'a, T>) -> PinRef<'a, T> { panic!() } pub fn map<U, F>(orig: PinRef<'a, T>, f: F) -> PinRef<'a, U> where F: FnOnce(Pin<&T>) -> Pin<&U>, { panic!() } pub fn map_split<U, V, F>(orig: PinRef<'a, T>, f: F) -> (PinRef<'a, U>, PinRef<'a, V>) where F: FnOnce(Pin<&T>) -> (Pin<&U>, Pin<&V>) { panic!() } } 1042
README.md This is a temporary fork of https://github.com/withoutboats/pin-cell until 140