`ureq` 2.9.3 compilation fails due to `hoot` requiring rustc 1.65
tnull opened this issue · comments
I'm aware that ureq
doesn't officially have any MSRV guarantee (#543), but so far we were able to use it with our MSRV of 1.63 easily.
Now ureq
introduced the hoot
dependency which seems to require let.. else
bindings that have only been stabilized with rustc 1.65 (cf. https://doc.rust-lang.org/rust-by-example/flow_control/let_else.html). This breaks builds for us:
error[E0658]: `let...else` statements are unstable
--> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hoot-0.1.2/src/chunk.rs:63:9
|
63 | / let Some(i) = find_crlf(src) else {
64 | | return Ok(false);
65 | | };
| |__________^
|
= note: see issue #87335 <https://github.com/rust-lang/rust/issues/87335> for more information
error[E0658]: `let...else` statements are unstable
--> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hoot-0.1.2/src/chunk.rs:85:9
|
85 | / let Self::Chunk(left) = self else {
86 | | unreachable!();
87 | | };
| |__________^
|
= note: see issue #87335 <https://github.com/rust-lang/rust/issues/87335> for more information
error[E0658]: `let...else` statements are unstable
--> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hoot-0.1.2/src/chunk.rs:107:9
|
107 | / let Some(i) = find_crlf(src) else {
108 | | return Ok(false);
109 | | };
| |__________^
|
= note: see issue #87335 <https://github.com/rust-lang/rust/issues/87335> for more information
error[E0658]: `let...else` statements are unstable
--> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hoot-0.1.2/src/out.rs:80:9
|
80 | / let Some(i) = self.inc else {
81 | | return (&[], &mut []);
82 | | };
| |__________^
|
= note: see issue #87335 <https://github.com/rust-lang/rust/issues/87335> for more information
error[E0658]: `let...else` statements are unstable
--> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hoot-0.1.2/src/client/res.rs:185:9
|
185 | / let Some(mode) = self.state.recv_body_mode else {
186 | | return false;
187 | | };
| |__________^
|
= note: see issue #87335 <https://github.com/rust-lang/rust/issues/87335> for more information
error[E0658]: `let...else` statements are unstable
--> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/hoot-0.1.2/src/server/req.rs:184:9
|
184 | / let Some(mode) = self.state.recv_body_mode else {
185 | | return false;
186 | | };
| |__________^
|
= note: see issue #87335 <https://github.com/rust-lang/rust/issues/87335> for more information
For more information about this error, try `rustc --explain E0658`.
error: could not compile `hoot` due to 6 previous errors
Since there are other related issues (#712), I'd appreciate if the introduction of the hoot
dependency could be reconsidered, and would also suggest to reconsider whether ureq
should introduce an official MSRV policy.
Thank you! I'm looking into this now. Closing as a dupe of #712
Fixed in 2.9.4
Fixed in 2.9.4
Thanks for the quick reaction and for introducing an MSRV! I'm still a bit dubious about adding hoot
as a dependency though, see #703 (comment)
Answered #703 (comment)