Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Publish release without pin-project (with pin-project-lite) #742

Closed
peter-lyons-kehl opened this issue Jun 30, 2023 · 5 comments
Closed
Labels
C-cleanup Category: PRs that clean code up or issues documenting cleanup.

Comments

@peter-lyons-kehl
Copy link

peter-lyons-kehl commented Jun 30, 2023

Version 0.4.13 still depends on pin-project. But master got rid of it, and uses pin-project-lite only - thank you.

Unfortunately, pin-project pulls old syn 1.0.109. But axum-core -> async-trait uses syn 2.0.5. That means longer build times...

Output of cargo hackerman explain syn on https://github.com/peter-kehl/rusti :
image

See also cargo hackerman.

Please, consider disecting out and having a pin-project-lite-only release. Otherwise take this as a big "+1" for #722.

@pacak
Copy link

pacak commented Jun 30, 2023

Please, consider disecting out and having a pin-project-lite-only release.

FWIW recently pin-project 1.1.1 uses syn 2. All that tower needs to do is to update to use a new version.

@davidpdrsn
Copy link
Member

Tower's master branch has breaking changes. So a new release would mean a new major. So first we have to decide on whether to merge other breaking PRs first. We already have an issue for that.

Regarding pin-project, Tower 0.4.x depends on pin-project as

pin-project = { version = "1", optional = true }

here. So a cargo update in your crate should update to pin-project 1.1.1 since that is compatible with pin-project = { version = "1" }

peter-lyons-kehl added a commit to peter-lyons-kehl/rusti that referenced this issue Jun 30, 2023
@peter-lyons-kehl
Copy link
Author

Thank you David and Michael.

Would it be worth mentioning the use of pin-project = { version = "1.1" }, maybe somewhere at https://docs.rs/tower/latest/tower? If so, I can provide a PR. I understand that it would be temporary (until the next major Tower version), but it could still help.

@davidpdrsn
Copy link
Member

I don’t think so. Cargo is gonna automatically pick the latest version of pin-project when you depend on tower and otherwise cargo update should do the trick.

I’ll close this for now but feel free to ask if you have more questions.

@davidpdrsn davidpdrsn closed this as not planned Won't fix, can't repro, duplicate, stale Jul 1, 2023
@tobz
Copy link
Member

tobz commented Jul 21, 2024

FWIW, this wasn't completed in one big fell swoop -- there's multiple PRs responsible -- but pin-project is in fact no longer used / present in tower: it's all pin-project-lite now.

@tobz tobz added the C-cleanup Category: PRs that clean code up or issues documenting cleanup. label Jul 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-cleanup Category: PRs that clean code up or issues documenting cleanup.
Projects
None yet
Development

No branches or pull requests

4 participants