A crate for safe and ergonomic pin-projection.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by taiki-e over 4 years ago
project_replace
method and #[project_replace]
attribute.project_replace
method is optional and can be enabled by passing the Replace
argument to #[pin_project]
attribute.Published by taiki-e over 4 years ago
Published by taiki-e over 4 years ago
Published by taiki-e almost 5 years ago
Published by taiki-e almost 5 years ago
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Pin projection has become a safe operation. In the absence of other unsafe code that you write, it is impossible to cause undefined behavior.
#[unsafe_project]
attribute has been replaced with #[pin_project]
attribute. (#18, #33)
The Unpin
argument has been removed - an Unpin
impl is now generated by default.
Drop impls must be specified with #[pinned_drop]
instead of via a normal Drop
impl. (#18, #33, #86)
#[pin_project]
can now be used for public type with private field types.
Removed "project_attr" feature and always enable #[project]
attribute.
Changes since the 0.4.0-beta.1 release:
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Changed #[pinned_drop] to trait implementation.
#[pinned_drop]
impl<T> PinnedDrop for Foo<'_, T> {
fn drop(mut self: Pin<&mut Self>) {
**self.project().was_dropped = true;
}
}
Added some examples and generated code.
Improve error messages.
Published by taiki-e about 5 years ago
Improved documentation.
Published by taiki-e about 5 years ago
Added 'project_into' method to #[pin_project] types. This can be useful when returning a pin projection from a method.
fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut T> {
self.project_into().pinned
}
Prevented UnpinStruct from appearing in the document by default. See taiki-e/pin-project#71 for more details.
Published by taiki-e about 5 years ago
Improved document of generated code.. Also added an option to control the document of generated code. See taiki-e/pin-project#62 for more details.
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago
Published by taiki-e about 5 years ago