-
Notifications
You must be signed in to change notification settings - Fork 287
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
WIP - switch to std::future and async/await #143
Conversation
hi, first of all thanks for you work @sd2k ! thanks in advance |
Thanks for all the work here, @sd2k! I'll get you a detailed review once we're a bit closer to Rust 1.39 shipping. @Softsapiens, let's tentatively say we can merge this post the release of Rust 1.39. I'd like to release at least one more version of rust-rdkafka before then with an older MSRV. |
Can you rebase this PR to master branch? I would like to give std::future a try along with update-to-date patches. |
@jerry73204 Done. Let me know if you have any issues. |
@dbcfd Sure, sounds good! I'll take a look at it once it's in. |
What's the plan now? I'd really like to have std::future in this crate. |
Hi @jakubtrnka, I apologize for the delay! I don't have permission to push versions of this crate to crates.io, so I'm waiting on @fede1024. I'd like to release 0.22 as the last version to support the tokio 0.1/futures 0.1 ecosystem—as soon as that's out I'll work on getting this merged and released as 0.23. |
On my part I'm a bit unsure how to proceed with this PR and #166 (which is based off mine). @dbcfd has made a PR to merge #166 into my branch, but it makes a lot of changes that I wouldn't know how to review. I could either keep my branch as is and have the PRs handled separately, or merge #166 in and just have a single large PR - let me know which you'd prefer when you have time, @benesch! |
This PR moves the project over from futures 0.1 to the newly stabilized std::future, using tokio 0.2 (alpha) and futures-preview 0.3. It won't compile on stable until Rust 1.39 at the earliest since it uses
async
/await
, so it'll obviously bump up the minimum Rust version too. It may be possible to remove theasync
/await
which I think would allow it to compile on 1.36.0.Tests are passing and examples working on nightly.
I guess this won't want to be merged until things stabilize a little more, but thought it might be useful when that time comes!