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..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((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 =====