aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md122
1 files changed, 67 insertions, 55 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a9b56e1..75f1613 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,10 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
+## [1.0.7] - 2021-04-16
+
+- Fix compile error when using `self::` as prefix of path inside `#[pinned_drop]` impl.
+
## [1.0.6] - 2021-03-25
- [Suppress `clippy::semicolon_if_nothing_returned` lint in generated code.](https://github.com/taiki-e/pin-project/pull/318)
@@ -106,6 +110,12 @@ Changes since the 1.0.0-alpha.1 release:
See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project/issues/264).
+## [0.4.28] - 2021-03-28
+
+- [Fix `unused_must_use` warning on unused borrows, which will be added to rustc in the future.](https://github.com/taiki-e/pin-project/pull/322) See [#322](https://github.com/taiki-e/pin-project/pull/322) for more details.
+
+ (Note: 1.0 does not have this problem.)
+
## [0.4.27] - 2020-10-11
- Update minimal version of `syn` to 1.0.44
@@ -177,7 +187,7 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
}
```
-- [Makes `project_replace` argument an alias for `Replace` argument so that it can be used without a value.](https://github.com/taiki-e/pin-project/pull/243)
+- [Make `project_replace` argument an alias for `Replace` argument so that it can be used without a value.](https://github.com/taiki-e/pin-project/pull/243)
```rust
#[pin_project(project_replace)]
@@ -227,7 +237,7 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
## [0.4.16] - 2020-05-11
-- [Fixed an issue that users can call internal function generated by `#[pinned_drop]`.](https://github.com/taiki-e/pin-project/pull/223)
+- [Fix an issue that users can call internal function generated by `#[pinned_drop]`.](https://github.com/taiki-e/pin-project/pull/223)
## [0.4.15] - 2020-05-10
@@ -235,7 +245,7 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
## [0.4.14] - 2020-05-09
-- [Added `!Unpin` option to `#[pin_project]` attribute for guarantee the type is `!Unpin`.](https://github.com/taiki-e/pin-project/pull/219)
+- [Add `!Unpin` option to `#[pin_project]` attribute for guarantee the type is `!Unpin`.](https://github.com/taiki-e/pin-project/pull/219)
```rust
#[pin_project(!Unpin)]
@@ -257,7 +267,7 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
*[Note: This raises the minimum supported Rust version of this crate from Rust 1.33 to Rust 1.34.](https://github.com/taiki-e/pin-project/pull/219#pullrequestreview-408644187)*
-- [Fixed an issue where duplicate `#[project]` attributes were ignored.](https://github.com/taiki-e/pin-project/pull/218)
+- [Fix an issue where duplicate `#[project]` attributes were ignored.](https://github.com/taiki-e/pin-project/pull/218)
- [Suppress `single_use_lifetimes` lint in generated code.](https://github.com/taiki-e/pin-project/pull/217)
@@ -269,11 +279,11 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
## [0.4.13] - 2020-05-07
-- [Fixed a regression in 0.4.11.](https://github.com/taiki-e/pin-project/pull/207)
+- [Fix a regression in 0.4.11.](https://github.com/taiki-e/pin-project/pull/207)
Changes from [0.4.10](https://github.com/taiki-e/pin-project/releases/tag/v0.4.10) and [0.4.12](https://github.com/taiki-e/pin-project/releases/tag/v0.4.12):
- - [Fixed an issue that `#[project]` on non-statement expression does not work without unstable features.](https://github.com/taiki-e/pin-project/pull/197)
+ - [Fix an issue that `#[project]` on non-statement expression does not work without unstable features.](https://github.com/taiki-e/pin-project/pull/197)
- [Support overwriting the name of core crate.](https://github.com/taiki-e/pin-project/pull/199)
@@ -291,7 +301,7 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
**Note: This release has been yanked.** See [#206](https://github.com/taiki-e/pin-project/issues/206) for details.
-- [Fixed an issue that `#[project]` on non-statement expression does not work without unstable features.](https://github.com/taiki-e/pin-project/pull/197)
+- [Fix an issue that `#[project]` on non-statement expression does not work without unstable features.](https://github.com/taiki-e/pin-project/pull/197)
- [Support overwriting the name of core crate.](https://github.com/taiki-e/pin-project/pull/199)
@@ -303,43 +313,43 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
## [0.4.10] - 2020-05-04
-- [Added `project_replace` method and `#[project_replace]` attribute.](https://github.com/taiki-e/pin-project/pull/194)
+- [Add `project_replace` method and `#[project_replace]` attribute.](https://github.com/taiki-e/pin-project/pull/194)
`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.](https://github.com/taiki-e/pin-project/pull/190)
-- [Hided all generated items except for projected types from calling code.](https://github.com/taiki-e/pin-project/pull/192) See [#192](https://github.com/taiki-e/pin-project/pull/192) for details.
+- [Hide all generated items except for projected types from calling code.](https://github.com/taiki-e/pin-project/pull/192) See [#192](https://github.com/taiki-e/pin-project/pull/192) for details.
## [0.4.9] - 2020-04-14
-- [Fixed lifetime inference error when associated types are used in fields.](https://github.com/taiki-e/pin-project/pull/188)
+- [Fix lifetime inference error when associated types are used in fields.](https://github.com/taiki-e/pin-project/pull/188)
-- [Fixed compile error with tuple structs with `where` clauses.](https://github.com/taiki-e/pin-project/pull/186)
+- [Fix compile error with tuple structs with `where` clauses.](https://github.com/taiki-e/pin-project/pull/186)
- [`#[project]` attribute can now be used for `if let` expressions.](https://github.com/taiki-e/pin-project/pull/181)
## [0.4.8] - 2020-01-27
-- [Ensured that users cannot implement `PinnedDrop` without proper attribute argument.](https://github.com/taiki-e/pin-project/pull/180)
+- [Ensure that users cannot implement `PinnedDrop` without proper attribute argument.](https://github.com/taiki-e/pin-project/pull/180)
-- [Fixed use of `Self` in expression position inside `#[pinned_drop]` impl.](https://github.com/taiki-e/pin-project/pull/177)
+- [Fix use of `Self` in expression position inside `#[pinned_drop]` impl.](https://github.com/taiki-e/pin-project/pull/177)
## [0.4.7] - 2020-01-20
-- [Fixed support for lifetime bounds.](https://github.com/taiki-e/pin-project/pull/176)
+- [Fix support for lifetime bounds.](https://github.com/taiki-e/pin-project/pull/176)
## [0.4.6] - 2019-11-20
-- [Fixed compile error when there is `Self` in the where clause.](https://github.com/taiki-e/pin-project/pull/169)
+- [Fix compile error when there is `Self` in the where clause.](https://github.com/taiki-e/pin-project/pull/169)
## [0.4.5] - 2019-10-21
-- [Fixed compile error with `dyn` types.](https://github.com/taiki-e/pin-project/pull/158)
+- [Fix compile error with `dyn` types.](https://github.com/taiki-e/pin-project/pull/158)
## [0.4.4] - 2019-10-17
-- [Fixed an issue where `PinnedDrop` implementations can call unsafe code without an unsafe block.](https://github.com/taiki-e/pin-project/pull/149)
+- [Fix an issue where `PinnedDrop` implementations can call unsafe code without an unsafe block.](https://github.com/taiki-e/pin-project/pull/149)
## [0.4.3] - 2019-10-15
@@ -349,7 +359,7 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
- [`#[pin_project]` can now interoperate with `#[cfg()]` on tuple structs and tuple variants.](https://github.com/taiki-e/pin-project/pull/135)
-- [Fixed support for DSTs(Dynamically Sized Types) on `#[pin_project(UnsafeUnpin)]`](https://github.com/taiki-e/pin-project/pull/120)
+- [Fix support for DSTs(Dynamically Sized Types) on `#[pin_project(UnsafeUnpin)]`](https://github.com/taiki-e/pin-project/pull/120)
- Diagnostic improvements.
@@ -357,13 +367,13 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
**Note: This release has been yanked.** See [#148](https://github.com/taiki-e/pin-project/pull/148) for details.
-- [Fixed support for DSTs(Dynamically Sized Types).](https://github.com/taiki-e/pin-project/pull/113)
+- [Fix support for DSTs(Dynamically Sized Types).](https://github.com/taiki-e/pin-project/pull/113)
## [0.4.1] - 2019-09-26
**Note: This release has been yanked.** See [#148](https://github.com/taiki-e/pin-project/pull/148) for details.
-- [Fixed an issue that caused an error when using `#[pin_project]` on a type that has `#[pin]` + `!Unpin` field with no generics or lifetime.](https://github.com/taiki-e/pin-project/pull/111)
+- [Fix an issue that caused an error when using `#[pin_project]` on a type that has `#[pin]` + `!Unpin` field with no generics or lifetime.](https://github.com/taiki-e/pin-project/pull/111)
## [0.4.0] - 2019-09-25
@@ -385,11 +395,11 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
- [`#[pin_project]` can now interoperate with `#[cfg()]`.](https://github.com/taiki-e/pin-project/pull/77)
-- [Added `project_ref` method to `#[pin_project]` types.](https://github.com/taiki-e/pin-project/pull/93)
+- [Add `project_ref` method to `#[pin_project]` types.](https://github.com/taiki-e/pin-project/pull/93)
-- [Added `#[project_ref]` attribute.](https://github.com/taiki-e/pin-project/pull/93)
+- [Add `#[project_ref]` attribute.](https://github.com/taiki-e/pin-project/pull/93)
-- [Removed "project_attr" feature and always enable `#[project]` attribute.](https://github.com/taiki-e/pin-project/pull/94)
+- [Remove "project_attr" feature and always enable `#[project]` attribute.](https://github.com/taiki-e/pin-project/pull/94)
- [`#[project]` attribute can now be used for `impl` blocks.](https://github.com/taiki-e/pin-project/pull/46)
@@ -399,25 +409,25 @@ See also [tracking issue for 1.0 release](https://github.com/taiki-e/pin-project
Changes since the 0.4.0-beta.1 release:
-- [Fixed an issue that caused an error when using `#[pin_project(UnsafeUnpin)]` and not providing a manual `UnsafeUnpin` implementation on a type with no generics or lifetime.](https://github.com/taiki-e/pin-project/pull/107)
+- [Fix an issue that caused an error when using `#[pin_project(UnsafeUnpin)]` and not providing a manual `UnsafeUnpin` implementation on a type with no generics or lifetime.](https://github.com/taiki-e/pin-project/pull/107)
## [0.4.0-beta.1] - 2019-09-21
-- [Changed the argument type of project method back to `self: Pin<&mut Self>`.](https://github.com/taiki-e/pin-project/pull/90)
+- [Change the argument type of project method back to `self: Pin<&mut Self>`.](https://github.com/taiki-e/pin-project/pull/90)
-- [Removed "project_attr" feature and always enable `#[project]` attribute.](https://github.com/taiki-e/pin-project/pull/94)
+- [Remove "project_attr" feature and always enable `#[project]` attribute.](https://github.com/taiki-e/pin-project/pull/94)
-- [Removed "renamed" feature.](https://github.com/taiki-e/pin-project/pull/100)
+- [Remove "renamed" feature.](https://github.com/taiki-e/pin-project/pull/100)
- [`#[project]` attribute can now be used for `use` statements.](https://github.com/taiki-e/pin-project/pull/85)
-- [Added `project_ref` method and `#[project_ref]` attribute.](https://github.com/taiki-e/pin-project/pull/93)
+- [Add `project_ref` method and `#[project_ref]` attribute.](https://github.com/taiki-e/pin-project/pull/93)
- [`#[pin_project]` attribute now determines the visibility of the projection type/method is based on the original type.](https://github.com/taiki-e/pin-project/pull/96)
## [0.4.0-alpha.11] - 2019-09-11
-- [Changed #[pinned_drop] to trait implementation.](https://github.com/taiki-e/pin-project/pull/86)
+- [Change #[pinned_drop] to trait implementation.](https://github.com/taiki-e/pin-project/pull/86)
```rust
#[pinned_drop]
@@ -428,7 +438,7 @@ Changes since the 0.4.0-beta.1 release:
}
```
-- Added some examples and generated code.
+- Add some examples and generated code.
- Diagnostic improvements.
@@ -440,7 +450,7 @@ Changes since the 0.4.0-beta.1 release:
## [0.4.0-alpha.9] - 2019-09-05
-- [Added 'project_into' method to `#[pin_project]` types](https://github.com/taiki-e/pin-project/pull/69). This can be useful when returning a pin projection from a method.
+- [Add `project_into` method to `#[pin_project]` types](https://github.com/taiki-e/pin-project/pull/69). This can be useful when returning a pin projection from a method.
```rust
fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut T> {
@@ -448,11 +458,11 @@ Changes since the 0.4.0-beta.1 release:
}
```
-- [Prevented UnpinStruct from appearing in the document by default.](https://github.com/taiki-e/pin-project/pull/71) See [#71](https://github.com/taiki-e/pin-project/pull/71) for more details.
+- [Prevent `UnpinStruct` from appearing in the document by default.](https://github.com/taiki-e/pin-project/pull/71) See [#71](https://github.com/taiki-e/pin-project/pull/71) for more details.
## [0.4.0-alpha.8] - 2019-09-03
-- [Improved document of generated code.](https://github.com/taiki-e/pin-project/pull/62). Also added an option to control the document of generated code. See [#62](https://github.com/taiki-e/pin-project/pull/62) for more details.
+- [Improve document of generated code.](https://github.com/taiki-e/pin-project/pull/62). Also added an option to control the document of generated code. See [#62](https://github.com/taiki-e/pin-project/pull/62) for more details.
- [Diagnostic improvements.](https://github.com/taiki-e/pin-project/pull/61)
@@ -462,7 +472,7 @@ Changes since the 0.4.0-beta.1 release:
## [0.4.0-alpha.6] - 2019-09-01
-- [Allowed using `#[pin_project]` type with private field types](https://github.com/taiki-e/pin-project/pull/53)
+- [Allow using `#[pin_project]` type with private field types](https://github.com/taiki-e/pin-project/pull/53)
## [0.4.0-alpha.5] - 2019-08-24
@@ -474,7 +484,7 @@ Changes since the 0.4.0-beta.1 release:
## [0.4.0-alpha.3] - 2019-08-23
-- [Changed `project` method generated by `#[pin_project]` attribute to take an `&mut Pin<&mut Self>` argument.](https://github.com/taiki-e/pin-project/pull/47)
+- [Change `project` method generated by `#[pin_project]` attribute to take an `&mut Pin<&mut Self>` argument.](https://github.com/taiki-e/pin-project/pull/47)
- [`#[project]` attribute can now be used for impl blocks.](https://github.com/taiki-e/pin-project/pull/46)
@@ -482,7 +492,7 @@ Changes since the 0.4.0-beta.1 release:
## [0.4.0-alpha.2] - 2019-08-13
-- Updated `proc-macro2`, `syn`, and `quote` to 1.0.
+- Update `proc-macro2`, `syn`, and `quote` to 1.0.
## [0.4.0-alpha.1] - 2019-08-11
@@ -496,13 +506,13 @@ Changes since the 0.4.0-beta.1 release:
- `Unpin` impls must be specified with an impl of `UnsafeUnpin`, instead of implementing the normal `Unpin` trait.
-- Made `#[project]` attribute disabled by default.
+- Make `#[project]` attribute disabled by default.
See also [tracking issue for 0.4 release](https://github.com/taiki-e/pin-project/issues/21).
## [0.3.5] - 2019-08-14
-- Updated `proc-macro2`, `syn`, and `quote` to 1.0.
+- Update `proc-macro2`, `syn`, and `quote` to 1.0.
## [0.3.4] - 2019-07-21
@@ -516,63 +526,63 @@ See also [tracking issue for 0.4 release](https://github.com/taiki-e/pin-project
## [0.3.2] - 2019-03-30
-- Avoided suffixes on tuple index.
+- Avoid suffixes on tuple index.
## [0.3.1] - 2019-03-02
- Documentation improvements.
-- Updated minimum `syn` version to 0.15.22.
+- Update minimum `syn` version to 0.15.22.
## [0.3.0] - 2019-02-20
-- Removed `unsafe_fields` attribute.
+- Remove `unsafe_fields` attribute.
-- Removed `unsafe_variants` attribute.
+- Remove `unsafe_variants` attribute.
## [0.2.2] - 2019-02-20
-- Fixed a bug that generates incorrect code for the some structures with trait bounds on type generics.
+- Fix a bug that generates incorrect code for the some structures with trait bounds on type generics.
## [0.2.1] - 2019-02-20
-- Fixed a bug that generates incorrect code for the structures with where clause and associated type fields.
+- Fix a bug that generates incorrect code for the structures with where clause and associated type fields.
## [0.2.0] - 2019-02-11
-- Made `unsafe_fields` optional.
+- Make `unsafe_fields` optional.
- Documentation improvements.
## [0.1.8] - 2019-02-02
-- Added the feature to create projected enums to `unsafe_project`.
+- Add the feature to create projected enums to `unsafe_project`.
-- Added `project` attribute to support pattern matching.
+- Add `project` attribute to support pattern matching.
## [0.1.7] - 2019-01-19
-- Fixed documentation.
+- Fix documentation.
## [0.1.6] - 2019-01-19
- `unsafe_fields` can now opt-out.
-- Added `unsafe_variants` attribute. This attribute is available if pin-project is built with the "unsafe_variants" feature.
+- Add `unsafe_variants` attribute. This attribute is available if pin-project is built with the "unsafe_variants" feature.
## [0.1.5] - 2019-01-17
-- Added support for tuple struct to `unsafe_project`.
+- Add support for tuple struct to `unsafe_project`.
## [0.1.4] - 2019-01-12
-- Added options for automatically implementing `Unpin` to both `unsafe_project` and `unsafe_fields`.
+- Add options for automatically implementing `Unpin` to both `unsafe_project` and `unsafe_fields`.
## [0.1.3] - 2019-01-11
-- Fixed dependencies.
+- Fix dependencies.
-- Added `unsafe_fields` attribute.
+- Add `unsafe_fields` attribute.
## [0.1.2] - 2019-01-09
@@ -580,7 +590,7 @@ See also [tracking issue for 0.4 release](https://github.com/taiki-e/pin-project
## [0.1.1] - 2019-01-08
-- Renamed from `unsafe_pin_project` to `unsafe_project`.
+- Rename from `unsafe_pin_project` to `unsafe_project`.
## [0.1.0] - 2019-01-08
@@ -588,7 +598,8 @@ See also [tracking issue for 0.4 release](https://github.com/taiki-e/pin-project
Initial release
-[Unreleased]: https://github.com/taiki-e/pin-project/compare/v1.0.6...HEAD
+[Unreleased]: https://github.com/taiki-e/pin-project/compare/v1.0.7...HEAD
+[1.0.7]: https://github.com/taiki-e/pin-project/compare/v1.0.6...v1.0.7
[1.0.6]: https://github.com/taiki-e/pin-project/compare/v1.0.5...v1.0.6
[1.0.5]: https://github.com/taiki-e/pin-project/compare/v1.0.4...v1.0.5
[1.0.4]: https://github.com/taiki-e/pin-project/compare/v1.0.3...v1.0.4
@@ -597,6 +608,7 @@ Initial release
[1.0.1]: https://github.com/taiki-e/pin-project/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/taiki-e/pin-project/compare/v1.0.0-alpha.1...v1.0.0
[1.0.0-alpha.1]: https://github.com/taiki-e/pin-project/compare/v0.4.23...v1.0.0-alpha.1
+[0.4.28]: https://github.com/taiki-e/pin-project/compare/v0.4.27...v0.4.28
[0.4.27]: https://github.com/taiki-e/pin-project/compare/v0.4.26...v0.4.27
[0.4.26]: https://github.com/taiki-e/pin-project/compare/v0.4.25...v0.4.26
[0.4.25]: https://github.com/taiki-e/pin-project/compare/v0.4.24...v0.4.25