From fa34bec4abb4b6f064142f276d389dbc14673fa7 Mon Sep 17 00:00:00 2001 From: Mark DeSpain Date: Mon, 5 Jan 2026 13:49:41 +0900 Subject: [PATCH] chore: address RUSTSEC-2024-0436 by switching from paste to pastey Switch from the paste create to the pastey crate, due to cargo audit idenitfying paste as unmaintained, per RUSTSEC-2024-0436. RUSTSEC-2024-0436 also mentions that pastey is a drop-in replacement. --- Cargo.toml | 2 +- crates/serde_valid/Cargo.toml | 2 +- crates/serde_valid/src/validation.rs | 6 +++--- crates/serde_valid/src/validation/array.rs | 2 +- crates/serde_valid/src/validation/composited.rs | 2 +- crates/serde_valid_derive/Cargo.toml | 2 +- .../src/attribute/field_validate/array/length_items.rs | 2 +- .../src/attribute/field_validate/numeric/range.rs | 2 +- .../src/attribute/field_validate/object/size_properties.rs | 2 +- .../src/attribute/field_validate/string/length.rs | 2 +- crates/serde_valid_literal/Cargo.toml | 2 +- crates/serde_valid_literal/src/number.rs | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 00d19c6e..1d43c3f4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["json_schema", "serde", "validation"] [workspace.dependencies] itertools = "^0.14.0" -paste = "^1.0" +pastey = "^0.2.1" proc-macro-error2 = { version = "^2.0", default-features = false } proc-macro2 = "^1.0" quote = "^1.0" diff --git a/crates/serde_valid/Cargo.toml b/crates/serde_valid/Cargo.toml index f944a86f..71342013 100644 --- a/crates/serde_valid/Cargo.toml +++ b/crates/serde_valid/Cargo.toml @@ -16,7 +16,7 @@ indexmap = { version = "^2.0", features = ["serde"] } itertools.workspace = true num-traits = "^0.2" once_cell = "^1.7" -paste.workspace = true +pastey.workspace = true regex.workspace = true serde = { workspace = true, features = ["derive"] } serde_json.workspace = true diff --git a/crates/serde_valid/src/validation.rs b/crates/serde_valid/src/validation.rs index 25b68659..7b076eb5 100644 --- a/crates/serde_valid/src/validation.rs +++ b/crates/serde_valid/src/validation.rs @@ -38,7 +38,7 @@ macro_rules! impl_composited_validation_1args { ) -> Result<(), Composited<$Error:ty>>; } ) => { - paste::paste! { + pastey::paste! { pub trait $ValidateCompositedTrait { fn $validate_composited_method( &self, @@ -149,7 +149,7 @@ macro_rules! impl_composited_validation_1args { ) -> Result<(), Composited<$Error>>; } ); - paste::paste! { + pastey::paste! { impl $ValidateCompositedTrait2 for std::collections::HashMap where V: $ValidateCompositedTrait3, @@ -297,7 +297,7 @@ macro_rules! impl_generic_composited_validation_1args { $ErrorType:ident, $type:ty ) => { - paste::paste! { + pastey::paste! { impl []<$type> for T where T: []<$type>, diff --git a/crates/serde_valid/src/validation/array.rs b/crates/serde_valid/src/validation/array.rs index dd6cef03..c6c5204a 100644 --- a/crates/serde_valid/src/validation/array.rs +++ b/crates/serde_valid/src/validation/array.rs @@ -10,7 +10,7 @@ use crate::{MaxItemsError, MinItemsError}; macro_rules! impl_validate_array_length_items { ($ErrorType:ident) => { - paste::paste! { + pastey::paste! { impl [] for Option where T: [], diff --git a/crates/serde_valid/src/validation/composited.rs b/crates/serde_valid/src/validation/composited.rs index f50712b3..a7f1f98e 100644 --- a/crates/serde_valid/src/validation/composited.rs +++ b/crates/serde_valid/src/validation/composited.rs @@ -30,7 +30,7 @@ pub enum Composited { macro_rules! impl_into_error { ($ErrorType:ident) => { - paste::paste! { + pastey::paste! { impl IntoError<[<$ErrorType Error>]> for Composited<[<$ErrorType Error>]> { fn into_error_by(self, format: crate::validation::error::Format<[<$ErrorType Error>]>) -> crate::validation::error::Error { match self { diff --git a/crates/serde_valid_derive/Cargo.toml b/crates/serde_valid_derive/Cargo.toml index 10d289c7..bd87356a 100644 --- a/crates/serde_valid_derive/Cargo.toml +++ b/crates/serde_valid_derive/Cargo.toml @@ -16,7 +16,7 @@ proc-macro = true [dependencies] itertools.workspace = true -paste.workspace = true +pastey.workspace = true proc-macro-error2 = { workspace = true } proc-macro2 = { workspace = true } quote = { workspace = true } diff --git a/crates/serde_valid_derive/src/attribute/field_validate/array/length_items.rs b/crates/serde_valid_derive/src/attribute/field_validate/array/length_items.rs index 9d061cfe..b5d156ef 100644 --- a/crates/serde_valid_derive/src/attribute/field_validate/array/length_items.rs +++ b/crates/serde_valid_derive/src/attribute/field_validate/array/length_items.rs @@ -11,7 +11,7 @@ use quote::quote; /// See macro_rules! extract_array_length_validator{ ($ErrorType:ident) => { - paste::paste! { + pastey::paste! { pub fn []( field: &impl Field, validation_value: &syn::Lit, diff --git a/crates/serde_valid_derive/src/attribute/field_validate/numeric/range.rs b/crates/serde_valid_derive/src/attribute/field_validate/numeric/range.rs index e22f89a7..724ff56d 100644 --- a/crates/serde_valid_derive/src/attribute/field_validate/numeric/range.rs +++ b/crates/serde_valid_derive/src/attribute/field_validate/numeric/range.rs @@ -10,7 +10,7 @@ use quote::quote; /// See macro_rules! extract_numeric_range_validator{ ($ErrorType:ident) => { - paste::paste! { + pastey::paste! { pub fn []( field: &impl Field, validation_value: &syn::Expr, diff --git a/crates/serde_valid_derive/src/attribute/field_validate/object/size_properties.rs b/crates/serde_valid_derive/src/attribute/field_validate/object/size_properties.rs index d3a2d617..fabc8ea4 100644 --- a/crates/serde_valid_derive/src/attribute/field_validate/object/size_properties.rs +++ b/crates/serde_valid_derive/src/attribute/field_validate/object/size_properties.rs @@ -11,7 +11,7 @@ use quote::quote; /// See macro_rules! extract_object_size_validator { ($ErrorType:ident) => { - paste::paste! { + pastey::paste! { pub fn []( field: &impl Field, validation_value: &syn::Lit, diff --git a/crates/serde_valid_derive/src/attribute/field_validate/string/length.rs b/crates/serde_valid_derive/src/attribute/field_validate/string/length.rs index 40b3466a..13f878ae 100644 --- a/crates/serde_valid_derive/src/attribute/field_validate/string/length.rs +++ b/crates/serde_valid_derive/src/attribute/field_validate/string/length.rs @@ -11,7 +11,7 @@ use quote::quote; /// See macro_rules! extract_string_length_validator{ ($ErrorType:ident) => { - paste::paste! { + pastey::paste! { pub fn []( field: &impl Field, validation_value: &syn::Lit, diff --git a/crates/serde_valid_literal/Cargo.toml b/crates/serde_valid_literal/Cargo.toml index efc69114..b2d933a1 100644 --- a/crates/serde_valid_literal/Cargo.toml +++ b/crates/serde_valid_literal/Cargo.toml @@ -12,7 +12,7 @@ categories = [] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -paste = { workspace = true } +pastey = { workspace = true } regex = { workspace = true } [features] diff --git a/crates/serde_valid_literal/src/number.rs b/crates/serde_valid_literal/src/number.rs index b819addd..1b21a355 100644 --- a/crates/serde_valid_literal/src/number.rs +++ b/crates/serde_valid_literal/src/number.rs @@ -78,7 +78,7 @@ impl std::fmt::Display for Number { macro_rules! impl_from_trait { ($type:ty) => { - paste::paste! { + pastey::paste! { impl From<$type> for Number { fn from(item: $type) -> Self { Number::[<$type:camel>](item)