Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 030c5a43 authored by Martin Geisler's avatar Martin Geisler Committed by Cherrypicker Worker
Browse files

pdl: Derive Clone + PartialEq + Eq for data structs

This is necessary for the integration with UWB.

Tag: #feature
Bug: 228306436
Test: atest pdl_tests pdl_rust_generator_tests_{le,be}
(cherry picked from https://android-review.googlesource.com/q/commit:d16411ad7cffa4a0d62b0ed4627196a47ffe2601)
Merged-In: I52bc81b79f22e39931d65c3a40e9f152b13f6733
Change-Id: I52bc81b79f22e39931d65c3a40e9f152b13f6733
parent 07a55615
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -219,7 +219,7 @@ fn generate_data_struct(
    let child_field = has_children_or_payload.then(|| quote!(child));

    let data_struct_decl = quote! {
        #[derive(Debug)]
        #[derive(Debug, Clone, PartialEq, Eq)]
        #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
        pub struct #id_data {
            #field_declarations
@@ -435,7 +435,7 @@ fn generate_packet_decl(
    });
    let child_declaration = has_children_or_payload.then(|| {
        quote! {
            #[derive(Debug)]
            #[derive(Debug, Clone, PartialEq, Eq)]
            #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
            pub enum #id_data_child {
                #(#child(Arc<#child_data>),)*
@@ -453,7 +453,7 @@ fn generate_packet_decl(
                }
            }

            #[derive(Debug)]
            #[derive(Debug, Clone, PartialEq, Eq)]
            #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
            pub enum #id_child {
                #(#child(#child),)*
@@ -496,7 +496,7 @@ fn generate_packet_decl(

        #data_struct_decl

        #[derive(Debug, Clone)]
        #[derive(Debug, Clone, PartialEq, Eq)]
        #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
        pub struct #id_packet {
            #(
+2 −2
Original line number Diff line number Diff line
@@ -82,12 +82,12 @@ impl<'de> serde::Deserialize<'de> for Foo {
    }
}

#[derive(Debug)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct BarData {
    x: [Foo; 5],
}
#[derive(Debug, Clone)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Bar {
    #[cfg_attr(feature = "serde", serde(flatten))]
+2 −2
Original line number Diff line number Diff line
@@ -82,12 +82,12 @@ impl<'de> serde::Deserialize<'de> for Foo {
    }
}

#[derive(Debug)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct BarData {
    x: [Foo; 5],
}
#[derive(Debug, Clone)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Bar {
    #[cfg_attr(feature = "serde", serde(flatten))]
+2 −2
Original line number Diff line number Diff line
@@ -82,12 +82,12 @@ impl<'de> serde::Deserialize<'de> for Foo {
    }
}

#[derive(Debug)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct BarData {
    x: Foo,
}
#[derive(Debug, Clone)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Bar {
    #[cfg_attr(feature = "serde", serde(flatten))]
+2 −2
Original line number Diff line number Diff line
@@ -82,12 +82,12 @@ impl<'de> serde::Deserialize<'de> for Foo {
    }
}

#[derive(Debug)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct BarData {
    x: Foo,
}
#[derive(Debug, Clone)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Bar {
    #[cfg_attr(feature = "serde", serde(flatten))]
Loading