Releases: taiki-e/pin-project
0.4.2
0.4.1
0.4.0
-
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 - anUnpin
impl is now generated by default. -
Drop impls must be specified with
#[pinned_drop]
instead of via a normalDrop
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:
0.4.0-beta.1
0.4.0-alpha.11
-
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.
0.4.0-alpha.10
-
Improved documentation.
0.4.0-alpha.9
-
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.
0.4.0-alpha.8
-
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.