From 768c324a81a43be9a30bc08cb931fabe6f8f6139 Mon Sep 17 00:00:00 2001 From: Bob Aman Date: Fri, 11 Aug 2023 10:49:18 -0400 Subject: [PATCH] chore: fix CI builds (#104) --- pbjson-build/src/escape.rs | 2 +- pbjson-build/src/generator/message.rs | 5 +++++ pbjson-test/build.rs | 2 +- pbjson-test/src/lib.rs | 6 +++++- pbjson-types/build.rs | 4 ++-- pbjson-types/descriptors.bin | Bin 107061 -> 114900 bytes pbjson-types/src/duration.rs | 2 +- pbjson-types/src/timestamp.rs | 17 ++++++++++++----- rust-toolchain.toml | 4 ++-- 9 files changed, 29 insertions(+), 13 deletions(-) diff --git a/pbjson-build/src/escape.rs b/pbjson-build/src/escape.rs index 554ac85..08a55e0 100644 --- a/pbjson-build/src/escape.rs +++ b/pbjson-build/src/escape.rs @@ -1,4 +1,4 @@ -///! Contains code to escape strings to avoid collisions with reserved Rust keywords +//! Contains code to escape strings to avoid collisions with reserved Rust keywords pub fn escape_ident(mut ident: String) -> String { // Copied from prost-build::ident diff --git a/pbjson-build/src/generator/message.rs b/pbjson-build/src/generator/message.rs index c7cb46e..2d0b277 100644 --- a/pbjson-build/src/generator/message.rs +++ b/pbjson-build/src/generator/message.rs @@ -374,6 +374,11 @@ fn write_serialize_scalar_variable( ) } _ => { + writeln!( + writer, + "{}#[allow(clippy::needless_borrow)]", + Indent(indent) + )?; writeln!( writer, "{}struct_ser.serialize_field(\"{}\", {}(&{}).as_str())?;", diff --git a/pbjson-test/build.rs b/pbjson-test/build.rs index 02bd410..b8907a7 100644 --- a/pbjson-test/build.rs +++ b/pbjson-test/build.rs @@ -28,7 +28,7 @@ fn main() -> Result<()> { .compile_well_known_types() .extern_path(".google.protobuf", "::pbjson_types") .extern_path(".test.external", "crate") - .bytes(&[".test"]) + .bytes([".test"]) .protoc_arg("--experimental_allow_proto3_optional"); if cfg!(feature = "btree") { diff --git a/pbjson-test/src/lib.rs b/pbjson-test/src/lib.rs index a2f604a..ad65a96 100644 --- a/pbjson-test/src/lib.rs +++ b/pbjson-test/src/lib.rs @@ -547,7 +547,11 @@ mod tests { decoded.optional_string = None; verify_decode(&decoded, "{}"); - let date = chrono::Utc.ymd(2072, 3, 1).and_hms_milli(5, 2, 5, 30); + let date = chrono::Utc + .with_ymd_and_hms(2072, 3, 1, 5, 2, 5) + .unwrap() + .checked_add_signed(chrono::Duration::milliseconds(30)) + .unwrap(); decoded.timestamp = Some(Timestamp { seconds: date.timestamp(), nanos: date.timestamp_subsec_nanos() as i32, diff --git a/pbjson-types/build.rs b/pbjson-types/build.rs index 99bebcc..9ef2b31 100644 --- a/pbjson-types/build.rs +++ b/pbjson-types/build.rs @@ -16,8 +16,8 @@ fn main() -> Result<()> { config .file_descriptor_set_path(&descriptor_path) .compile_well_known_types() - .disable_comments(&["."]) - .bytes(&[".google"]) + .disable_comments(["."]) + .bytes([".google"]) .skip_protoc_run(); let empty: &[&str] = &[]; diff --git a/pbjson-types/descriptors.bin b/pbjson-types/descriptors.bin index ad65b4f33b96c9d25d546635f705e2d4c67f922f..b7fe6319aab3428edd1325762abc3341b1272786 100644 GIT binary patch delta 25978 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 Pp{?V0&v|RvKg0hEGn5o( delta 18261 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 JE$n>8{{o@2u-O0r diff --git a/pbjson-types/src/duration.rs b/pbjson-types/src/duration.rs index bc2801d..d776ca2 100644 --- a/pbjson-types/src/duration.rs +++ b/pbjson-types/src/duration.rs @@ -43,7 +43,7 @@ impl Serialize for Duration { if self.nanos != 0 { s.push('.'); - let f = match split_nanos(self.nanos.abs() as u32) { + let f = match split_nanos(self.nanos.unsigned_abs()) { (millis, 0, 0) => format!("{:03}", millis), (millis, micros, 0) => format!("{:03}{:03}", millis, micros), (millis, micros, nanos) => format!("{:03}{:03}{:03}", millis, micros, nanos), diff --git a/pbjson-types/src/timestamp.rs b/pbjson-types/src/timestamp.rs index 7f2d22f..1722a9a 100644 --- a/pbjson-types/src/timestamp.rs +++ b/pbjson-types/src/timestamp.rs @@ -4,11 +4,17 @@ use serde::de::Visitor; use serde::Serialize; impl TryFrom for chrono::DateTime { - type Error = std::num::TryFromIntError; + type Error = &'static str; fn try_from(value: Timestamp) -> Result { let Timestamp { seconds, nanos } = value; - let dt = NaiveDateTime::from_timestamp(seconds, nanos.try_into()?); + let dt = NaiveDateTime::from_timestamp_opt( + seconds, + nanos + .try_into() + .map_err(|_| "out of range integral type conversion attempted")?, + ) + .ok_or("invalid or out-of-range datetime")?; Ok(Self::from_utc(dt, Utc)) } } @@ -69,9 +75,10 @@ mod tests { #[test] fn test_date() { - let datetime = FixedOffset::east(5 * 3600) - .ymd(2016, 11, 8) - .and_hms(21, 7, 9); + let datetime = FixedOffset::east_opt(5 * 3600) + .expect("time zone offset should be valid") + .with_ymd_and_hms(2016, 11, 8, 21, 7, 9) + .unwrap(); let encoded = datetime.to_rfc3339(); assert_eq!(&encoded, "2016-11-08T21:07:09+05:00"); diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 4e832fc..7b7e745 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.61" -components = [ "rustfmt", "clippy" ] +channel = "1.71" +components = ["rustfmt", "clippy"]