diff options
author | Haibo Huang <hhb@google.com> | 2020-07-10 20:23:30 -0700 |
---|---|---|
committer | Chih-Hung Hsieh <chh@google.com> | 2020-07-13 22:26:50 -0700 |
commit | d58366dc4a1a1ec807bb02dfc7928051799130ac (patch) | |
tree | 99470e8e8e4787e90b156f71bafac98438d6c39a /CHANGELOG.md | |
parent | 09ba014483c2506939704e0b993a728958553e25 (diff) | |
download | pin-project-d58366dc4a1a1ec807bb02dfc7928051799130ac.tar.gz |
Upgrade rust/crates/pin-project to 0.4.22android-r-beta-3android-r-beta-2
* Keep local change in src/lib.rs
Test: make
Change-Id: I63ca4a3f247df2028bcb6cb849823b296865f444
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 149 |
1 files changed, 132 insertions, 17 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index ed7cfbc..d40af34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,97 @@ This project adheres to [Semantic Versioning](https://semver.org). ## [Unreleased] +## [0.4.22] - 2020-06-14 + +* Documentation improvements. + +## [0.4.21] - 2020-06-13 + +* [Deprecated `#[project]`, `#[project_ref]`, and `#[project_replace]` attributes due to some unfixable limitations.][244] + + Consider naming the projected type by passing an argument with the same name as the method to the #[pin_project] attribute instead. + + ```rust + use pin_project::pin_project; + use std::pin::Pin; + + #[pin_project(project = EnumProj)] + enum Enum<T> { + Variant(#[pin] T), + } + + fn func<T>(x: Pin<&mut Enum<T>>) { + match x.project() { + EnumProj::Variant(y) => { + let _: Pin<&mut T> = y; + } + } + } + ``` + + See [#225][225] for more details. + +* [Support `Self` in fields and generics in type definitions.][245] + +* [Fix errors involving *"`self` value is a keyword only available in methods with `self` parameter"* in apparently correct code.][250] + +* Diagnostic improvements. + +[225]: https://github.com/taiki-e/pin-project/pull/225 +[244]: https://github.com/taiki-e/pin-project/pull/244 +[245]: https://github.com/taiki-e/pin-project/pull/245 +[250]: https://github.com/taiki-e/pin-project/pull/250 + +## [0.4.20] - 2020-06-07 + +* [You can now use project_replace argument without Replace argument.][243] + This used to require you to specify both. + + ```diff + - #[pin_project(Replace, project_replace = EnumProjOwn)] + + #[pin_project(project_replace = EnumProjOwn)] + enum Enum<T> { + Variant(#[pin] T) + } + ``` + +* [Makes `project_replace` argument an alias for `Replace` argument so that it can be used without a value.][243] + + ```rust + #[pin_project(project_replace)] + enum Enum<T> { + Variant(#[pin] T) + } + ``` + + *The `Replace` argument will be deprecated in the future.* + +* Suppress `unreachable_pub` lint in generated code. + +[243]: https://github.com/taiki-e/pin-project/pull/243 + +## [0.4.19] - 2020-06-04 + +* [Fix `unused_results` lint in generated code.][239] + +[239]: https://github.com/taiki-e/pin-project/pull/239 + +## [0.4.18] - 2020-06-04 + +* [Support `Self` in more syntax positions inside `#[pinned_drop]` impl.][230] + +* [Suppress `clippy::type_repetition_in_bounds` and `clippy::used_underscore_binding` lints in generated code.][233] + +* Documentation improvements. + +* Diagnostic improvements. + +[230]: https://github.com/taiki-e/pin-project/pull/230 +[233]: https://github.com/taiki-e/pin-project/pull/233 + ## [0.4.17] - 2020-05-18 -* [Allowed naming the projected types.][202] +* [Support naming the projection types.][202] By passing an argument with the same name as the method to the attribute, you can name the projection type returned from the method: @@ -73,11 +161,13 @@ This project adheres to [Semantic Versioning](https://semver.org). * [Fixed an issue where duplicate `#[project]` attributes were ignored.][218] -* [Fixed compile error and warnings with HRTB.][217] +* [Suppress `single_use_lifetimes` lint in generated code.][217] + +* [Support overlapping lifetime names in HRTB.][217] -* [Hide generated items from --document-private-items.][211] See [#211][211] for more details. +* [Hide generated items from --document-private-items.][211] See [#211][211] for details. -* Improve documentation +* Documentation improvements. [211]: https://github.com/taiki-e/pin-project/pull/211 [217]: https://github.com/taiki-e/pin-project/pull/217 @@ -94,7 +184,11 @@ This project adheres to [Semantic Versioning](https://semver.org). * [Support overwriting the name of core crate.][199] - * Improve documentation + * [Suppress `clippy::needless_pass_by_value` lint in generated code of `#[pinned_drop]`.][200] + + * Documentation improvements. + + * Diagnostic improvements. [207]: https://github.com/taiki-e/pin-project/pull/207 @@ -110,10 +204,15 @@ This project adheres to [Semantic Versioning](https://semver.org). * [Support overwriting the name of core crate.][199] -* Improve documentation +* [Suppress `clippy::needless_pass_by_value` lint in generated code of `#[pinned_drop]`.][200] + +* Documentation improvements. + +* Diagnostic improvements. [197]: https://github.com/taiki-e/pin-project/pull/197 [199]: https://github.com/taiki-e/pin-project/pull/199 +[200]: https://github.com/taiki-e/pin-project/pull/200 ## [0.4.10] - 2020-05-04 @@ -121,6 +220,12 @@ This project adheres to [Semantic Versioning](https://semver.org). `project_replace` method is optional and can be enabled by passing the `Replace` argument to `#[pin_project]` attribute. See [the documentation](https://docs.rs/pin-project/0.4/pin_project/attr.pin_project.html#project_replace) for more details. +* [Support `Self` and `self` in more syntax positions inside `#[pinned_drop]` impl.][190] + +* [Hided all generated items except for projected types from calling code.][192] See [#192][192] for details. + +[190]: https://github.com/taiki-e/pin-project/pull/190 +[192]: https://github.com/taiki-e/pin-project/pull/192 [194]: https://github.com/taiki-e/pin-project/pull/194 ## [0.4.9] - 2020-04-14 @@ -139,6 +244,9 @@ This project adheres to [Semantic Versioning](https://semver.org). * [Ensured that users cannot implement `PinnedDrop` without proper attribute argument.][180] +* [Fixed use of `Self` in expression position inside `#[pinned_drop]` impl.][177] + +[177]: https://github.com/taiki-e/pin-project/pull/180 [180]: https://github.com/taiki-e/pin-project/pull/180 ## [0.4.7] - 2020-01-20 @@ -173,6 +281,8 @@ This project adheres to [Semantic Versioning](https://semver.org). * [Fixed support for DSTs(Dynamically Sized Types) on `#[pin_project(UnsafeUnpin)]`][120] +* Diagnostic improvements. + [120]: https://github.com/taiki-e/pin-project/pull/120 [135]: https://github.com/taiki-e/pin-project/pull/135 @@ -262,7 +372,7 @@ Changes since the 0.4.0-beta.1 release: * Added some examples and generated code. -* Improve error messages. +* Diagnostic improvements. [86]: https://github.com/taiki-e/pin-project/pull/86 @@ -270,7 +380,7 @@ Changes since the 0.4.0-beta.1 release: * [`#[pin_project]` can now interoperate with `#[cfg()]`.][77] -* Improved documentation. +* Documentation improvements. [77]: https://github.com/taiki-e/pin-project/pull/77 @@ -292,14 +402,14 @@ Changes since the 0.4.0-beta.1 release: * [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] +* [Diagnostic improvements.][61] [61]: https://github.com/taiki-e/pin-project/pull/61 [62]: https://github.com/taiki-e/pin-project/pull/62 ## [0.4.0-alpha.7] - 2019-09-02 -* [Applied `#[allow(dead_code)]` to generated types.][57] +* [Suppress `dead_code` lint in generated types.][57] [57]: https://github.com/taiki-e/pin-project/pull/57 @@ -317,7 +427,7 @@ Changes since the 0.4.0-beta.1 release: ## [0.4.0-alpha.4] - 2019-08-23 -* Avoided clippy::drop_bounds lint in generated code. +* Suppress `clippy::drop_bounds` lint in generated code. ## [0.4.0-alpha.3] - 2019-08-23 @@ -359,11 +469,11 @@ See also [tracking issue for 0.4 release][21]. ## [0.3.4] - 2019-07-21 -* Improved error messages. +* Diagnostic improvements. ## [0.3.3] - 2019-07-15 - YANKED -* Improved error messages. +* Diagnostic improvements. ## [0.3.2] - 2019-03-30 @@ -371,7 +481,7 @@ See also [tracking issue for 0.4 release][21]. ## [0.3.1] - 2019-03-02 -* Improved documentation. +* Documentation improvements. * Updated minimum `syn` version to 0.15.22. @@ -393,7 +503,7 @@ See also [tracking issue for 0.4 release][21]. * Made `unsafe_fields` optional. -* Improved documentation. +* Documentation improvements. ## [0.1.8] - 2019-02-02 @@ -427,7 +537,7 @@ See also [tracking issue for 0.4 release][21]. ## [0.1.2] - 2019-01-09 -* Improved documentation. +* Documentation improvements. ## [0.1.1] - 2019-01-08 @@ -437,7 +547,12 @@ See also [tracking issue for 0.4 release][21]. Initial release -[Unreleased]: https://github.com/taiki-e/pin-project/compare/v0.4.17...HEAD +[Unreleased]: https://github.com/taiki-e/pin-project/compare/v0.4.22...HEAD +[0.4.22]: https://github.com/taiki-e/pin-project/compare/v0.4.21...v0.4.22 +[0.4.21]: https://github.com/taiki-e/pin-project/compare/v0.4.20...v0.4.21 +[0.4.20]: https://github.com/taiki-e/pin-project/compare/v0.4.19...v0.4.20 +[0.4.19]: https://github.com/taiki-e/pin-project/compare/v0.4.18...v0.4.19 +[0.4.18]: https://github.com/taiki-e/pin-project/compare/v0.4.17...v0.4.18 [0.4.17]: https://github.com/taiki-e/pin-project/compare/v0.4.16...v0.4.17 [0.4.16]: https://github.com/taiki-e/pin-project/compare/v0.4.15...v0.4.16 [0.4.15]: https://github.com/taiki-e/pin-project/compare/v0.4.14...v0.4.15 |