Closed
Description
Rocket Version
Operating System
FreeBSD 14.1-RELEASE-p5 amd64
Rust Toolchain Version
rustc 1.81.0 (f54dd915b 2024-09-02)
What happened?
I cloned master and went to run tests, but it's unable to compile s2n-quic-h3
for the core: http3-preview test set.
$ ./scripts/test.sh --core
...
:: Building and checking core [http3-preview]...
Compiling s2n-quic-h3 v0.1.0 (https://github.com/SergioBenitez/s2n-quic-h3.git?rev=6613956#66139567)
error[E0277]: the trait bound `s2n_quic::application::Error: From<s2n_quic_core::varint::VarInt>` is not satisfied
--> /home/sjohnson/.cargo/git/checkouts/s2n-quic-h3-159cf9a157ac9cd2/6613956/src/s2n_quic.rs:181:49
...
error[E0277]: the trait bound `s2n_quic::application::Error: From<s2n_quic_core::varint::VarInt>` is not satisfied
--> /home/sjohnson/.cargo/git/checkouts/s2n-quic-h3-159cf9a157ac9cd2/6613956/src/s2n_quic.rs:464:73
...
Test Case
N/A
Log Output
$ ./scripts/test.sh --core
...
:: Building and checking core [http3-preview]...
Compiling s2n-quic-h3 v0.1.0 (https://github.com/SergioBenitez/s2n-quic-h3.git?rev=6613956#66139567)
error[E0277]: the trait bound `s2n_quic::application::Error: From<s2n_quic_core::varint::VarInt>` is not satisfied
--> /home/sjohnson/.cargo/git/checkouts/s2n-quic-h3-159cf9a157ac9cd2/6613956/src/s2n_quic.rs:181:49
|
181 | .unwrap_or_else(|_| VarInt::MAX.into()),
| ^^^^ the trait `From<s2n_quic_core::varint::VarInt>` is not implemented for `s2n_quic::application::Error`, which is required by `s2n_quic_core::varint::VarInt: Into<_>`
|
= help: the following other types implement trait `From<T>`:
`s2n_quic::application::Error` implements `From<s2n_quic_core::varint::VarInt>`
`s2n_quic::application::Error` implements `From<u16>`
`s2n_quic::application::Error` implements `From<u32>`
`s2n_quic::application::Error` implements `From<u8>`
= note: required for `s2n_quic_core::varint::VarInt` to implement `Into<s2n_quic::application::Error>`
error[E0277]: the trait bound `s2n_quic::application::Error: From<s2n_quic_core::varint::VarInt>` is not satisfied
--> /home/sjohnson/.cargo/git/checkouts/s2n-quic-h3-159cf9a157ac9cd2/6613956/src/s2n_quic.rs:464:73
|
464 | .reset(reset_code.try_into().unwrap_or_else(|_| VarInt::MAX.into()));
| ^^^^ the trait `From<s2n_quic_core::varint::VarInt>` is not implemented for `s2n_quic::application::Error`, which is required by `s2n_quic_core::varint::VarInt: Into<_>`
|
= help: the following other types implement trait `From<T>`:
`s2n_quic::application::Error` implements `From<s2n_quic_core::varint::VarInt>`
`s2n_quic::application::Error` implements `From<u16>`
`s2n_quic::application::Error` implements `From<u32>`
`s2n_quic::application::Error` implements `From<u8>`
= note: required for `s2n_quic_core::varint::VarInt` to implement `Into<s2n_quic::application::Error>`
For more information about this error, try `rustc --explain E0277`.
error: could not compile `s2n-quic-h3` (lib) due to 2 previous errors
Additional Context
I believe one way to fix this, is to merge in upstream fix from aws/s2n-quic#2313 (comment) into https://github.com/SergioBenitez/s2n-quic-h3 and then update the revision in core/lib/Cargo.toml
References:
- (async) Remove or replace typed headers #1067 (comment) mentions this test problem
- s2n-quic 1.45 is semver breaking aws/s2n-quic#2313
- https://app.element.io/#/room/#rocket:mozilla.org/$7dIHXmw9p5EWnrkV6vBjqhQXeXrsUmx3HFHUQR0x66I
Sergio mentioned this problem Sep 2nd on the matrix chat
Final Notes:
- This is my first issue for Rocket, so definitely point out any mistakes I've made
- This was on FreeBSD, but I believe this problem would still exist on other OSs
System Checks
- My bug report relates to functionality.
- I have tested against the latest Rocket release or a recent git commit.
- I have tested against the latest stable
rustc
toolchain. - I was unable to find this issue previously reported.