quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.76k stars 380 forks source link

Upgrade socket2 to 0.5 #1558

Closed djc closed 1 year ago

djc commented 1 year ago

This should be okay now that we've bumped our MSRV?

djc commented 1 year ago

The CI failure here is confusing. Tokio's support for AsFd was added in https://github.com/tokio-rs/tokio/pull/5514 (released in 1.27), and we already have 1.63 as our MSRV. (Discord thread.)

djc commented 1 year ago

The MSRV issue is a tokio bug, PR in https://github.com/tokio-rs/tokio/pull/5677.

djc commented 1 year ago

I tested this locally with

djc-2021 socket2-0.5 quinn $ git diff
diff --git a/Cargo.toml b/Cargo.toml
index 6a985fb6..ca92f1c2 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -7,3 +7,6 @@ debug = true

 [profile.release]
 debug = true
+
+[patch."crates-io"]
+tokio = { path = "../tokio/tokio" }

(with the aforelinked PR checked out) and it seems to be fine:

djc-2021 socket2-0.5 quinn $ cargo +1.63 c --lib --all-features -p quinn-udp -p quinn-proto -p quinn
    Blocking waiting for file lock on build directory
   Compiling tokio v1.28.0 (/Users/djc/src/tokio/tokio)
   Compiling tokio-macros v2.1.0 (/Users/djc/src/tokio/tokio-macros)
    Checking quinn v0.10.0 (/Users/djc/src/quinn/quinn)
    Finished dev [unoptimized + debuginfo] target(s) in 2.70s

So I don't think we need to block the release on the MSRV issue? We can mention it as a caveat in the release notes.

djc commented 1 year ago

@Ralith requested re-review since this now has a bunch of extra stuff.

djc commented 1 year ago

Bumped the tokio dependency in quinn to 1.28.1 which should make the MSRV test pass.