Releases: taiki-e/pin-project
1.0.3
- Exclude unneeded files from crates.io.
1.0.2
1.0.1
1.0.0
-
Remove deprecated
#[project]
,#[project_ref]
, and#[project_replace]
attributes.Name the projected type by passing an argument with the same name as the method to the
#[pin_project]
attribute instead:- #[pin_project] + #[pin_project(project = EnumProj)] enum Enum<T> { Variant(#[pin] T), } - #[project] fn func<T>(x: Pin<&mut Enum<T>>) { - #[project] match x.project() { - Enum::Variant(_) => { /* ... */ } + EnumProj::Variant(_) => { /* ... */ } } }
-
Remove deprecated
Replace
argument from#[pin_project]
attribute. Useproject_replace
argument instead. -
Raise the minimum supported Rust version of this crate from Rust 1.34 to Rust 1.37.
-
Suppress
explicit_outlives_requirements
,box_pointers
,clippy::large_enum_variant
,clippy::pattern_type_mismatch
,clippy::implicit_return
, andclippy::redundant_pub_crate
lints in generated code. (#276, #277, #284) -
Diagnostic improvements.
Changes since the 1.0.0-alpha.1 release:
-
Update minimal version of
syn
to 1.0.44
0.4.27
0.4.26
0.4.25
0.4.24
1.0.0-alpha.1
-
Remove deprecated
#[project]
,#[project_ref]
, and#[project_replace]
attributes.Name the projected type by passing an argument with the same name as the method to the
#[pin_project]
attribute instead:- #[pin_project] + #[pin_project(project = EnumProj)] enum Enum<T> { Variant(#[pin] T), } - #[project] fn func<T>(x: Pin<&mut Enum<T>>) { - #[project] match x.project() { - Enum::Variant(_) => { /* ... */ } + EnumProj::Variant(_) => { /* ... */ } } }
-
Remove deprecated
Replace
argument from#[pin_project]
attribute. Useproject_replace
argument instead. -
Suppress
explicit_outlives_requirements
,box_pointers
,clippy::large_enum_variant
,clippy::pattern_type_mismatch
, andclippy::implicit_return
lints in generated code. (#276, #277) -
Diagnostic improvements.
See also tracking issue for 1.0 release.