Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Deprecate #[project] attributes in favor of the naming of projected-type #225

Closed
taiki-e opened this issue May 18, 2020 · 3 comments · Fixed by #244
Closed

Deprecate #[project] attributes in favor of the naming of projected-type #225

taiki-e opened this issue May 18, 2020 · 3 comments · Fixed by #244
Assignees
Labels
A-project-attribute Area: #[project], #[project_ref], and #[project_replace] (note: this was removed in v1.0)

Comments

@taiki-e
Copy link
Owner

taiki-e commented May 18, 2020

The naming of projected-type added in #202 is more powerful than project* attributes and the implementation is also very simple.

There some reasons for removing project* attributes in favor of the naming of projected-type:

That said, it may be tedious to name each time...

@taiki-e taiki-e added A-pin-projection Area: #[pin_project] A-project-attribute Area: #[project], #[project_ref], and #[project_replace] (note: this was removed in v1.0) needs-discussion and removed A-pin-projection Area: #[pin_project] labels May 18, 2020
@Aaron1011
Copy link
Collaborator

I'm in favor of this - I think it's nice to only require using macros at the definition site.

@taiki-e taiki-e assigned taiki-e and unassigned taiki-e May 31, 2020
@taiki-e
Copy link
Owner Author

taiki-e commented Jun 5, 2020

I'll do this next week.

@taiki-e taiki-e pinned this issue Jun 5, 2020
@taiki-e taiki-e changed the title Consider deprecating #[project] attributes in favor of the naming of projected-type Deprecate #[project] attributes in favor of the naming of projected-type Jun 5, 2020
taiki-e added a commit to taiki-e/futures-rs that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/hyper that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/tower that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/warp that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/tonic that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/actix that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/actix-net that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/actix-web that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/tokio-tungstenite that referenced this issue Jun 5, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/diem that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/diem that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
bors-libra pushed a commit to diem/diem that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225

Closes: #4320
Approved by: bmwill
taiki-e added a commit to taiki-e/noria that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/rants that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/shadowsocks-rust that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/async-smtp that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
taiki-e added a commit to taiki-e/rust-libp2p that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
tikue pushed a commit to google/tarpc that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
@taiki-e
Copy link
Owner Author

taiki-e commented Jun 6, 2020

Also, in the future (when project attribute removed), we can reduce generated code by skips unnamed projection types and methods when pin_project used on enums.

zonyitoo pushed a commit to shadowsocks/shadowsocks-rust that referenced this issue Jun 6, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
mxinden pushed a commit to libp2p/rust-libp2p that referenced this issue Jun 9, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
LucioFranco pushed a commit to hyperium/tonic that referenced this issue Jun 9, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
@bors bors bot closed this as completed in 9e3996f Jun 13, 2020
@bors bors bot closed this as completed in #244 Jun 13, 2020
LucioFranco pushed a commit to tower-rs/tower that referenced this issue Jun 15, 2020
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
@taiki-e taiki-e unpinned this issue Jun 19, 2020
exrook pushed a commit to exrook/futures-rs that referenced this issue Apr 5, 2021
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
exrook pushed a commit to exrook/futures-rs that referenced this issue Apr 5, 2021
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
jxs pushed a commit to jxs/warp that referenced this issue Jun 27, 2021
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
BenxiangGe pushed a commit to BenxiangGe/hyper that referenced this issue Jul 26, 2021
…m#2219)

pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
santos227 pushed a commit to santos227/rustlib that referenced this issue Jun 20, 2022
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
vihsonic added a commit to vihsonic/tokio-tungstenite that referenced this issue Apr 25, 2024
pin-project will deprecate the project attribute due to some unfixable
limitations.

Refs: taiki-e/pin-project#225
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-project-attribute Area: #[project], #[project_ref], and #[project_replace] (note: this was removed in v1.0)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants