diff --git a/CHANGELOG.md b/CHANGELOG.md index 96fd6b99..2187cd14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,46 @@ This project adheres to [Semantic Versioning](https://semver.org). ## [Unreleased] +## [0.4.14] - 2020-05-09 + +* [Added `!Unpin` argument to `#[pin_project]` attribute for guarantee the type is `!Unpin`.][219] + + ```rust + use pin_project::pin_project; + #[pin_project(!Unpin)] + struct Struct { + field: T, + } + ``` + + This is equivalent to use `#[pin]` attribute for `PhantomPinned` field. + + ```rust + use pin_project::pin_project; + use std::marker::PhantomPinned; + #[pin_project] + struct Struct { + field: T, + #[pin] // Note that using `PhantomPinned` without `#[pin]` attribute has no effect. + _pin: PhantomPinned, + } + ``` + + *[Note: This raises the minimum supported Rust version of this crate from rustc 1.33 to rustc 1.34.](https://github.com/taiki-e/pin-project/pull/219#pullrequestreview-408644187)* + +* [Fixed an issue where duplicate `#[project]` attributes were ignored.][218] + +* [Fixed compile error and warnings with HRTB.][217] + +* [Hide generated items from --document-private-items.][211] See [#211][211] for more details. + +* Improve documentation + +[211]: https://github.com/taiki-e/pin-project/pull/211 +[217]: https://github.com/taiki-e/pin-project/pull/217 +[218]: https://github.com/taiki-e/pin-project/pull/218 +[219]: https://github.com/taiki-e/pin-project/pull/219 + ## [0.4.13] - 2020-05-07 * [Fixed a regression in 0.4.11.][207] @@ -53,9 +93,9 @@ This project adheres to [Semantic Versioning](https://semver.org). * [`#[project]` attribute can now be used for `if let` expressions.][181] -[188]: https://github.com/taiki-e/pin-project/pull/188 -[186]: https://github.com/taiki-e/pin-project/pull/186 [181]: https://github.com/taiki-e/pin-project/pull/181 +[186]: https://github.com/taiki-e/pin-project/pull/186 +[188]: https://github.com/taiki-e/pin-project/pull/188 ## [0.4.8] - 2020-01-27 @@ -205,14 +245,14 @@ Changes since the 0.4.0-beta.1 release: } ``` -* [Prevented UnpinStruct from appearing in the document by default.][71] See [taiki-e/pin-project#71][71] for more details. +* [Prevented UnpinStruct from appearing in the document by default.][71] See [#71][71] for more details. [69]: https://github.com/taiki-e/pin-project/pull/69 [71]: https://github.com/taiki-e/pin-project/pull/69 ## [0.4.0-alpha.8] - 2019-09-03 -* [Improved document of generated code.][62]. Also added an option to control the document of generated code. See [taiki-e/pin-project#62][62] for more details. +* [Improved document of generated code.][62]. Also added an option to control the document of generated code. See [#62][62] for more details. * [Improved error messages][61] @@ -359,7 +399,8 @@ See also [tracking issue for 0.4 release][21]. Initial release -[Unreleased]: https://github.com/taiki-e/pin-project/compare/v0.4.13...HEAD +[Unreleased]: https://github.com/taiki-e/pin-project/compare/v0.4.14...HEAD +[0.4.14]: https://github.com/taiki-e/pin-project/compare/v0.4.13...v0.4.14 [0.4.13]: https://github.com/taiki-e/pin-project/compare/v0.4.11...v0.4.13 [0.4.12]: https://github.com/taiki-e/pin-project/compare/v0.4.10...v0.4.12 [0.4.11]: https://github.com/taiki-e/pin-project/compare/v0.4.10...v0.4.11 diff --git a/Cargo.toml b/Cargo.toml index 1d03a8fa..e8b17348 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pin-project" -version = "0.4.13" +version = "0.4.14" authors = ["Taiki Endo "] edition = "2018" license = "Apache-2.0 OR MIT" @@ -27,7 +27,7 @@ members = [ ] [dependencies] -pin-project-internal = { version = "=0.4.13", path = "pin-project-internal", default-features = false } +pin-project-internal = { version = "=0.4.14", path = "pin-project-internal", default-features = false } [dev-dependencies] auxiliary-macros = { version = "0.1", path = "tests/ui/auxiliary" } diff --git a/pin-project-internal/Cargo.toml b/pin-project-internal/Cargo.toml index f90b8235..0fcf32b9 100644 --- a/pin-project-internal/Cargo.toml +++ b/pin-project-internal/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pin-project-internal" -version = "0.4.13" +version = "0.4.14" authors = ["Taiki Endo "] edition = "2018" license = "Apache-2.0 OR MIT" @@ -25,5 +25,5 @@ quote = "1.0" syn = { version = "1.0.13", features = ["full", "visit-mut"] } [dev-dependencies] -pin-project = { version = "0.4.13", path = ".." } +pin-project = { version = "0.4.14", path = ".." } rustversion = "1.0" diff --git a/pin-project-internal/src/lib.rs b/pin-project-internal/src/lib.rs index 1090a44e..756e5fa3 100644 --- a/pin-project-internal/src/lib.rs +++ b/pin-project-internal/src/lib.rs @@ -1,7 +1,7 @@ //! An internal crate to support pin_project - **do not use directly** #![recursion_limit = "256"] -#![doc(html_root_url = "https://docs.rs/pin-project-internal/0.4.13")] +#![doc(html_root_url = "https://docs.rs/pin-project-internal/0.4.14")] #![doc(test( no_crate_inject, attr(deny(warnings, rust_2018_idioms, single_use_lifetimes), allow(dead_code)) diff --git a/src/lib.rs b/src/lib.rs index d6896c80..e8a7e2da 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -34,7 +34,7 @@ #![no_std] #![recursion_limit = "256"] -#![doc(html_root_url = "https://docs.rs/pin-project/0.4.13")] +#![doc(html_root_url = "https://docs.rs/pin-project/0.4.14")] #![doc(test( no_crate_inject, attr(deny(warnings, rust_2018_idioms, single_use_lifetimes), allow(dead_code))