From 35aa7d7a1541717bcc6c314f1dd3fbd780052d26 Mon Sep 17 00:00:00 2001 From: Pierre Fenoll Date: Fri, 14 Mar 2025 13:45:12 +0100 Subject: [PATCH] Support bincode::{Encode,Decode}, under a crate feature Signed-off-by: Pierre Fenoll --- Cargo.toml | 1 + src/addr.rs | 1 + src/addr6.rs | 1 + src/addr8.rs | 1 + 4 files changed, 4 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 3bb4603..09c56bf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,6 +21,7 @@ std = [] serde_std = ["std", "serde/std"] [dependencies] +bincode = { version = "2", optional = true } serde = { version = "^1.0", default-features = false, features = ["derive"], optional = true } [dev-dependencies] diff --git a/src/addr.rs b/src/addr.rs index d761bdd..bc422a5 100644 --- a/src/addr.rs +++ b/src/addr.rs @@ -4,6 +4,7 @@ use crate::{parser, MacAddr6, MacAddr8, ParseError}; /// A MAC address, either in *EUI-48* or *EUI-64* format. #[derive(Debug, Hash, Eq, PartialEq, Ord, PartialOrd, Copy, Clone)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] pub enum MacAddr { V6(MacAddr6), V8(MacAddr8), diff --git a/src/addr6.rs b/src/addr6.rs index 289b9d7..7b4bf7b 100644 --- a/src/addr6.rs +++ b/src/addr6.rs @@ -5,6 +5,7 @@ use crate::parser; /// MAC address in *EUI-48* format. #[repr(C)] #[derive(Debug, Default, Hash, Eq, PartialEq, Ord, PartialOrd, Copy, Clone)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct MacAddr6([u8; 6]); diff --git a/src/addr8.rs b/src/addr8.rs index 9c33d76..d80dba6 100644 --- a/src/addr8.rs +++ b/src/addr8.rs @@ -5,6 +5,7 @@ use crate::parser; /// MAC address in *EUI-64* format. #[repr(C)] #[derive(Debug, Default, Hash, Eq, PartialEq, Ord, PartialOrd, Copy, Clone)] +#[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub struct MacAddr8([u8; 8]);