From bc485d939e6f32383fa16d50a556d1ad9fe0e2c6 Mon Sep 17 00:00:00 2001 From: Oliver Nordbjerg Date: Mon, 15 Apr 2024 14:02:30 +0200 Subject: [PATCH] refactor: remove unused codecs (#7639) --- crates/storage/codecs/Cargo.toml | 6 +-- crates/storage/codecs/README.md | 11 ----- crates/storage/codecs/derive/Cargo.toml | 5 -- crates/storage/codecs/derive/src/lib.rs | 64 ------------------------- 4 files changed, 1 insertion(+), 85 deletions(-) diff --git a/crates/storage/codecs/Cargo.toml b/crates/storage/codecs/Cargo.toml index b9cba0811..f585accf6 100644 --- a/crates/storage/codecs/Cargo.toml +++ b/crates/storage/codecs/Cargo.toml @@ -30,10 +30,6 @@ proptest.workspace = true proptest-derive.workspace = true [features] -default = ["compact", "std"] +default = ["std"] std = ["alloy-primitives/std", "bytes/std"] -compact = ["reth-codecs-derive/compact"] -scale = ["reth-codecs-derive/scale"] -postcard = ["reth-codecs-derive/postcard"] -no_codec = ["reth-codecs-derive/no_codec"] optimism = ["reth-codecs-derive/optimism"] diff --git a/crates/storage/codecs/README.md b/crates/storage/codecs/README.md index bb542160d..69a4dd3d5 100644 --- a/crates/storage/codecs/README.md +++ b/crates/storage/codecs/README.md @@ -6,14 +6,3 @@ Examples: - [`Header` struct](../../primitives/src/header.rs) - [DB usage](../db/src/kv/codecs/scale.rs) - -### Features - -Feature defines what is the main codec used by `#[main_codec]`. However it is still possible to define them directly: `#[use_scale]`, `#[use_postcat]`, `#[no_codec]`. - -```rust -default = ["scale"] -scale = ["reth-codecs-derive/scale"] -postcard = ["reth-codecs-derive/postcard"] -no_codec = ["reth-codecs-derive/no_codec"] -``` diff --git a/crates/storage/codecs/derive/Cargo.toml b/crates/storage/codecs/derive/Cargo.toml index 7be08c175..2b7c5311d 100644 --- a/crates/storage/codecs/derive/Cargo.toml +++ b/crates/storage/codecs/derive/Cargo.toml @@ -25,9 +25,4 @@ similar-asserts.workspace = true syn = { workspace = true, features = ["full", "extra-traits"] } [features] -default = ["compact"] -compact = [] -scale = [] -postcard = [] -no_codec = [] optimism = [] diff --git a/crates/storage/codecs/derive/src/lib.rs b/crates/storage/codecs/derive/src/lib.rs index 9af83148b..32e793637 100644 --- a/crates/storage/codecs/derive/src/lib.rs +++ b/crates/storage/codecs/derive/src/lib.rs @@ -39,64 +39,6 @@ pub fn derive_zstd(input: TokenStream) -> TokenStream { #[rustfmt::skip] #[allow(unreachable_code)] pub fn main_codec(args: TokenStream, input: TokenStream) -> TokenStream { - #[cfg(feature = "compact")] - return use_compact(args, input); - - #[cfg(feature = "scale")] - return use_scale(args, input); - - #[cfg(feature = "postcard")] - return use_postcard(args, input); - - #[cfg(feature = "no_codec")] - return no_codec(args, input); - - // no features - no_codec(args, input) -} - -#[proc_macro_attribute] -pub fn use_scale(_args: TokenStream, input: TokenStream) -> TokenStream { - let mut ast = parse_macro_input!(input as DeriveInput); - let compactable_types = ["u8", "u16", "u32", "i32", "i64", "u64", "f32", "f64"]; - - if let syn::Data::Struct(ref mut data) = &mut ast.data { - if let syn::Fields::Named(fields) = &mut data.fields { - for field in fields.named.iter_mut() { - if let syn::Type::Path(ref path) = field.ty { - if !path.path.segments.is_empty() { - let _type = format!("{}", path.path.segments[0].ident); - if compactable_types.contains(&_type.as_str()) { - field.attrs.push(syn::parse_quote! { - #[codec(compact)] - }); - } - } - } - } - } - } - - quote! { - #[derive(parity_scale_codec::Encode, parity_scale_codec::Decode, serde::Serialize, serde::Deserialize)] - #ast - } - .into() -} - -#[proc_macro_attribute] -pub fn use_postcard(_args: TokenStream, input: TokenStream) -> TokenStream { - let ast = parse_macro_input!(input as DeriveInput); - - quote! { - #[derive(serde::Serialize, serde::Deserialize)] - #ast - } - .into() -} - -#[proc_macro_attribute] -pub fn use_compact(args: TokenStream, input: TokenStream) -> TokenStream { let ast = parse_macro_input!(input as DeriveInput); let with_zstd = args.clone().into_iter().any(|tk| tk.to_string() == "zstd"); @@ -176,9 +118,3 @@ pub fn add_arbitrary_tests(args: TokenStream, input: TokenStream) -> TokenStream } .into() } - -#[proc_macro_attribute] -pub fn no_codec(_args: TokenStream, input: TokenStream) -> TokenStream { - let ast = parse_macro_input!(input as DeriveInput); - quote! { #ast }.into() -}