diff options
author | 2024-10-08 17:40:08 +0800 | |
---|---|---|
committer | 2024-10-08 18:11:52 +0800 | |
commit | e329332b7268e35441a85df4462fd118fce73070 (patch) | |
tree | 98d242492cc5ac9fd5fb0072c652de16f141162e | |
parent | 94cfdf467b4d5dd7945706ef2127f01035b955d4 (diff) |
floss: fix some rust warnings
* Add serde feature in hcidoc_packets (the generated files has serde
configuration feature)
* Allow dead code in hcidoc parser (the structs correctly represent
the actual packet despite the value is never read)
* Don't use DateTime::from_timestamp_micros in hcidoc parser because
it needs chrono version above what's available on our rust_crates
* Use underscore for default match arm
* Remove unused FromPrimitive trait
Bug: None
Test: m -j
Flag: EXEMPT, floss only changes
Change-Id: Ie81c021b02ca5fa7d142fc64e8cec061c6566f2c
-rw-r--r-- | floss/hcidoc/packets/Cargo.toml | 3 | ||||
-rw-r--r-- | floss/hcidoc/src/parser.rs | 13 | ||||
-rw-r--r-- | system/gd/rust/topshim/src/btif.rs | 2 | ||||
-rw-r--r-- | system/gd/rust/topshim/src/syslog.rs | 2 |
4 files changed, 17 insertions, 3 deletions
diff --git a/floss/hcidoc/packets/Cargo.toml b/floss/hcidoc/packets/Cargo.toml index cd633bb88c..0b65fa4b26 100644 --- a/floss/hcidoc/packets/Cargo.toml +++ b/floss/hcidoc/packets/Cargo.toml @@ -37,3 +37,6 @@ walkdir = "2.2" [lib] path = "lib.rs" crate-type = ["rlib"] + +[features] +serde = [] diff --git a/floss/hcidoc/src/parser.rs b/floss/hcidoc/src/parser.rs index 26659bc424..572040cabe 100644 --- a/floss/hcidoc/src/parser.rs +++ b/floss/hcidoc/src/parser.rs @@ -103,6 +103,7 @@ const SNOOP_Y0_TO_Y1970_US: i64 = 62_168_256_000_000_000; /// Snoop file packet format. #[derive(Debug, Clone)] +#[allow(dead_code)] pub struct SnoopPacketPreamble { /// The original length of the captured packet as received via a network. pub original_length: u32, @@ -177,7 +178,15 @@ pub trait GeneralSnoopPacket { fn get_timestamp(&self) -> Option<NaiveDateTime> { let preamble = self.preamble(); let ts_i64 = i64::try_from(preamble.timestamp_us).unwrap_or(i64::MAX); - DateTime::from_timestamp_micros(ts_i64 - SNOOP_Y0_TO_Y1970_US).map(|date| date.naive_utc()) + + // TODO: directly use Datetime::from_timestamp_micros() once chrono package is re-vendored + // to v0.4.35. Below is the actual implementation of that function. + let from_timestamp_micros = |micros: i64| -> Option<DateTime<_>> { + let secs = micros.div_euclid(1_000_000); + let nsecs = micros.rem_euclid(1_000_000) as u32 * 1000; + DateTime::from_timestamp(secs, nsecs) + }; + from_timestamp_micros(ts_i64 - SNOOP_Y0_TO_Y1970_US).map(|date| date.naive_utc()) } } @@ -420,6 +429,7 @@ impl<'a> TryFrom<&'a dyn GeneralSnoopPacket> for PacketChild { /// A single processable packet of data. #[derive(Debug, Clone)] +#[allow(dead_code)] pub struct Packet { /// Timestamp of this packet pub ts: NaiveDateTime, @@ -454,6 +464,7 @@ impl<'a> TryFrom<(usize, &'a dyn GeneralSnoopPacket)> for Packet { } } +#[allow(dead_code)] pub enum AclContent { Control(Control), LeControl(LeControl), diff --git a/system/gd/rust/topshim/src/btif.rs b/system/gd/rust/topshim/src/btif.rs index b5df64fb7e..b7e8dbbac6 100644 --- a/system/gd/rust/topshim/src/btif.rs +++ b/system/gd/rust/topshim/src/btif.rs @@ -435,7 +435,7 @@ impl ToString for BtVendorProductInfo { match self.vendor_id_src { 1 => "bluetooth", 2 => "usb", - default => "unknown", + _ => "unknown", }, self.vendor_id, self.product_id, diff --git a/system/gd/rust/topshim/src/syslog.rs b/system/gd/rust/topshim/src/syslog.rs index 5af01c4948..628d6682c4 100644 --- a/system/gd/rust/topshim/src/syslog.rs +++ b/system/gd/rust/topshim/src/syslog.rs @@ -5,7 +5,7 @@ //! to tune log levels for syslog. use num_derive::{FromPrimitive, ToPrimitive}; -use num_traits::cast::{FromPrimitive, ToPrimitive}; +use num_traits::cast::ToPrimitive; use std::ffi::CString; use std::os::raw::c_char; |