Skip to content

Commit 4a8bdbf

Browse files
committed
chore: remove dependency on syn_derive
1 parent 21c024f commit 4a8bdbf

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

borsh-derive/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ proc-macro-crate = "3"
2323
proc-macro2 = "1"
2424
quote = "1"
2525
once_cell = "1.18.0"
26-
syn_derive = "0.1.6"
2726

2827
[dev-dependencies]
2928
syn = { version = "2", features = ["full", "fold", "parsing"] }

borsh-derive/src/internals/attributes/field/schema.rs

+25-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ use crate::internals::attributes::{
66
Symbol,
77
};
88
use once_cell::sync::Lazy;
9-
use syn::{meta::ParseNestedMeta, Ident, Token, Type};
9+
use quote::ToTokens;
10+
use syn::{
11+
meta::ParseNestedMeta,
12+
parse::{Parse, ParseStream},
13+
Ident, Token, Type,
14+
};
1015

1116
use self::with_funcs::{WithFuncs, WITH_FUNCS_FIELD_PARSE_MAP};
1217

@@ -52,13 +57,31 @@ pub static SCHEMA_FIELD_PARSE_MAP: Lazy<BTreeMap<Symbol, Box<ParseFn>>> = Lazy::
5257
/**
5358
Struct describes an entry like `order_param => override_type`, e.g. `K => <K as TraitName>::Associated`
5459
*/
55-
#[derive(Clone, syn_derive::Parse, syn_derive::ToTokens)]
60+
#[derive(Clone)]
5661
pub struct ParameterOverride {
5762
pub order_param: Ident,
5863
arrow_token: Token![=>],
5964
pub override_type: Type,
6065
}
6166

67+
impl Parse for ParameterOverride {
68+
fn parse(input: ParseStream) -> Result<Self, syn::Error> {
69+
Ok(ParameterOverride {
70+
order_param: input.parse()?,
71+
arrow_token: input.parse()?,
72+
override_type: input.parse()?,
73+
})
74+
}
75+
}
76+
77+
impl ToTokens for ParameterOverride {
78+
fn to_tokens(&self, tokens: &mut proc_macro2::TokenStream) {
79+
self.order_param.to_tokens(tokens);
80+
self.arrow_token.to_tokens(tokens);
81+
self.override_type.to_tokens(tokens);
82+
}
83+
}
84+
6285
#[allow(unused)]
6386
#[derive(Default, Clone)]
6487
pub(crate) struct Attributes {

0 commit comments

Comments
 (0)