From d2b4cc341525cdd9472439065c59a9a0c8f94176 Mon Sep 17 00:00:00 2001 From: Jose Torres Date: Thu, 28 May 2026 21:16:35 -0400 Subject: [PATCH 1/2] fixing cast_lossless lint --- Cargo.toml | 1 - src/common/date.rs | 2 +- src/headers.rs | 2 +- src/proto/h1/decode.rs | 12 ++++++------ src/proto/h2/ping.rs | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2c73a64f6e..39a24a8530 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -116,7 +116,6 @@ restriction = { level = "warn", priority = -2 } arithmetic_side_effects = "allow" # TODO: consider as_conversions = "allow" # TODO: tricky borrow_as_ptr = "allow" -cast_lossless = "allow" # TODO: easy fix cast_possible_truncation = "allow" # TODO: consider cast_precision_loss = "allow" # TODO: consider checked_conversions = "allow" diff --git a/src/common/date.rs b/src/common/date.rs index 59837cd60e..cda4b5da4e 100644 --- a/src/common/date.rs +++ b/src/common/date.rs @@ -74,7 +74,7 @@ impl CachedDate { .subsec_nanos(); self.render(now); - self.next_update = now + Duration::new(1, 0) - Duration::from_nanos(nanos as u64); + self.next_update = now + Duration::new(1, 0) - Duration::from_nanos(u64::from(nanos)); } fn render(&mut self, now: SystemTime) { diff --git a/src/headers.rs b/src/headers.rs index 8bebdb9bfa..ff1f1961bb 100644 --- a/src/headers.rs +++ b/src/headers.rs @@ -84,7 +84,7 @@ fn from_digits(bytes: &[u8]) -> Option { match b { b'0'..=b'9' => { result = result.checked_mul(RADIX)?; - result = result.checked_add((b - b'0') as u64)?; + result = result.checked_add(u64::from(b - b'0'))?; } _ => { // not a DIGIT, get outta here! diff --git a/src/proto/h1/decode.rs b/src/proto/h1/decode.rs index a7dd78837a..8f5488eb44 100644 --- a/src/proto/h1/decode.rs +++ b/src/proto/h1/decode.rs @@ -357,15 +357,15 @@ impl ChunkedState { match byte!(rdr, cx) { b @ b'0'..=b'9' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add((b - b'0') as u64)); + *size = or_overflow!(size.checked_add(u64::from(b - b'0' ))); } b @ b'a'..=b'f' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add((b + 10 - b'a') as u64)); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'a' ))); } b @ b'A'..=b'F' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add((b + 10 - b'A') as u64)); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'A' ))); } _ => { return Poll::Ready(Err(io::Error::new( @@ -389,15 +389,15 @@ impl ChunkedState { match byte!(rdr, cx) { b @ b'0'..=b'9' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add((b - b'0') as u64)); + *size = or_overflow!(size.checked_add(u64::from(b - b'0' ))); } b @ b'a'..=b'f' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add((b + 10 - b'a') as u64)); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'a' ))); } b @ b'A'..=b'F' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add((b + 10 - b'A') as u64)); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'A' ))); } b'\t' | b' ' => return Poll::Ready(Ok(ChunkedState::SizeLws)), b';' => return Poll::Ready(Ok(ChunkedState::Extension)), diff --git a/src/proto/h2/ping.rs b/src/proto/h2/ping.rs index 5c77778da0..f4caae148e 100644 --- a/src/proto/h2/ping.rs +++ b/src/proto/h2/ping.rs @@ -423,7 +423,7 @@ impl Bdp { fn seconds(dur: Duration) -> f64 { const NANOS_PER_SEC: f64 = 1_000_000_000.0; let secs = dur.as_secs() as f64; - secs + (dur.subsec_nanos() as f64) / NANOS_PER_SEC + secs + (f64::from(dur.subsec_nanos())) / NANOS_PER_SEC } // ===== impl KeepAlive ===== From 9b6a4ba44102e69e5ae0ab8be266d5239b74f6cb Mon Sep 17 00:00:00 2001 From: Jose Torres Date: Thu, 28 May 2026 21:23:36 -0400 Subject: [PATCH 2/2] spacing --- src/proto/h1/decode.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/proto/h1/decode.rs b/src/proto/h1/decode.rs index 8f5488eb44..47cf249687 100644 --- a/src/proto/h1/decode.rs +++ b/src/proto/h1/decode.rs @@ -357,15 +357,15 @@ impl ChunkedState { match byte!(rdr, cx) { b @ b'0'..=b'9' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add(u64::from(b - b'0' ))); + *size = or_overflow!(size.checked_add(u64::from(b - b'0'))); } b @ b'a'..=b'f' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'a' ))); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'a'))); } b @ b'A'..=b'F' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'A' ))); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'A'))); } _ => { return Poll::Ready(Err(io::Error::new( @@ -389,15 +389,15 @@ impl ChunkedState { match byte!(rdr, cx) { b @ b'0'..=b'9' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add(u64::from(b - b'0' ))); + *size = or_overflow!(size.checked_add(u64::from(b - b'0'))); } b @ b'a'..=b'f' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'a' ))); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'a'))); } b @ b'A'..=b'F' => { *size = or_overflow!(size.checked_mul(radix)); - *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'A' ))); + *size = or_overflow!(size.checked_add(u64::from(b + 10 - b'A'))); } b'\t' | b' ' => return Poll::Ready(Ok(ChunkedState::SizeLws)), b';' => return Poll::Ready(Ok(ChunkedState::Extension)),