Skip to content

Commit 9ec747b

Browse files
committed
update-syn
1 parent b676fb3 commit 9ec747b

9 files changed

Lines changed: 35 additions & 32 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Changed
9+
- **Breaking Change** updated syn to v3.
810

911
## [0.10.5] - 2025-10-02
1012
### Fixed

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ edition = "2021"
1818

1919
[dependencies]
2020
derive-where = "1.2.7"
21-
manyhow = "0.11.3"
21+
manyhow = "0.14.0"
2222
proc-macro2 = "1"
2323
quote = "1"
24-
syn = "2"
24+
syn = "3"
2525

2626
[features]
2727
# default = ["syn-full"]
@@ -35,7 +35,7 @@ path = "macro"
3535
insta = "1.39.0"
3636
quote = "1"
3737
static_assertions = "1.1.0"
38-
syn = { version = "2", features = ["extra-traits"] }
38+
syn = { version = "3", features = ["extra-traits"] }
3939

4040
[package.metadata.release]
4141
shared-version = true

example/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ proc-macro = true
99

1010
[dependencies]
1111
attribute-derive = { path = "..", features = ["syn-full"] }
12-
syn = { version = "2", features = ["full", "extra-traits"] }
12+
syn = { version = "3", features = ["full", "extra-traits"] }
1313
trybuild = "1"
1414

1515
[dev-dependencies]

macro/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ proc-macro = true
1818
[dependencies]
1919
proc-macro2 = "1"
2020
quote = "1"
21-
quote-use = "0.8"
22-
syn = "2"
21+
quote-use = "0.9"
22+
syn = "3"
2323
proc-macro-utils = "0.10.0"
2424
# proc-macro-utils = {path = "../../proc-macro-utils"}
2525
interpolator = { version = "0.5.0", features = ["iter"] }
2626
collection_literals = "1"
27-
manyhow = "0.11"
27+
manyhow = "0.14"
2828

2929
[package.metadata.release]
3030
tag = false

macro/src/lib.rs

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ use std::iter;
55
use std::ops::Range;
66

77
use collection_literals::hash;
8-
use interpolator::{format, Formattable};
9-
use manyhow::{bail, error_message, manyhow, span_range, ErrorMessage, Result};
10-
use proc_macro2::{Literal, Span, TokenStream};
8+
use interpolator::{Formattable, format};
9+
use manyhow::{ErrorMessage, Result, bail, error_message, manyhow, span_range};
1110
use proc_macro_utils::{TokenParser, TokenStream2Ext};
12-
use quote::{format_ident, ToTokens};
11+
use proc_macro2::{Literal, Span, TokenStream};
12+
use quote::{ToTokens, format_ident};
1313
use quote_use::quote_use as quote;
1414
use syn::spanned::Spanned;
1515
use syn::{DataStruct, DeriveInput, Field, Fields, Generics, Ident, LitStr, Type, Visibility};
@@ -181,7 +181,8 @@ impl StructAttrs {
181181
let mut ident: Option<Ident> = None;
182182
let mut aliases: Vec<String> = vec![];
183183
let mut error = StructError::Specific(Default::default());
184-
// let mut duplicate: DuplicateStrategy = DuplicateStrategy::AggregateOrError;
184+
// let mut duplicate: DuplicateStrategy =
185+
// DuplicateStrategy::AggregateOrError;
185186
for attr in attrs
186187
.into_iter()
187188
.filter(|attr| ATTRIBUTE_IDENTS.iter().any(|a| attr.path().is_ident(a)))
@@ -638,8 +639,8 @@ impl AttrField {
638639
self.help
639640
.as_ref()
640641
.map(|help| {
641-
// Precision of `.0` hides the entries but surpresses error when not used in
642-
// `help` string.
642+
// Precision of `.0` hides the entries but surpresses error when
643+
// not used in `help` string.
643644
let fmt = format!("{{__error}}{help}{{open_or_eq:.0}}{{close_or_empty:.0}}");
644645
let ty = quote!(<#ty as ::attribute_derive::parsing::AttributeNamed>);
645646
quote! { .map_err(|__error| {
@@ -855,17 +856,19 @@ pub fn from_attr_derive(
855856
aliases.insert(0, attribute_ident.to_string());
856857
}
857858

858-
let attribute_ident_trait = (!aliases.is_empty())
859-
.then(|| {
859+
let attribute_ident_trait = if !aliases.is_empty() {
860+
{
860861
quote! {
861862
# use attribute_derive::AttributeIdent;
862863

863864
impl #impl_generics AttributeIdent for #ident #ty_generics #where_clause {
864865
const IDENTS: &'static [&'static str] = &[#(#aliases),*];
865866
}
866867
}
867-
})
868-
.unwrap_or_default();
868+
}
869+
} else {
870+
Default::default()
871+
};
869872

870873
let (fields, conflicts) = match data {
871874
syn::Data::Struct(DataStruct {

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#![warn(missing_docs)]
2+
#![allow(clippy::test_attr_in_doctest)]
23
//! Basically clap for attribute macros:
34
//! ```
45
//! use attribute_derive::FromAttr;

src/syn_impls.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ use syn::token::{
99
Trait, Try, Typeof, Underscore, Union, Unsafe, Unsized, Use, Virtual, Where, While, Yield,
1010
};
1111
use syn::{
12-
Abi, AngleBracketedGenericArguments, BareFnArg, BinOp, BoundLifetimes, ConstParam, DeriveInput,
13-
Expr, FieldsNamed, FieldsUnnamed, GenericArgument, GenericParam, Generics, Ident, Index,
14-
Lifetime, Lit, LitBool, LitByteStr, LitChar, LitFloat, LitInt, LitStr, Member, Meta, MetaList,
15-
MetaNameValue, ParenthesizedGenericArguments, Path, PathSegment, ReturnType, TraitBound,
16-
TraitBoundModifier, Type, TypeArray, TypeBareFn, TypeGroup, TypeImplTrait, TypeInfer,
17-
TypeMacro, TypeNever, TypeParam, TypeParamBound, TypeParen, TypePath, TypePtr, TypeReference,
18-
TypeSlice, TypeTraitObject, TypeTuple, UnOp, Variant, Visibility, WhereClause, WherePredicate,
12+
Abi, AngleBracketedGenericArguments, BinOp, BoundLifetimes, ConstParam, DeriveInput, Expr,
13+
FieldsNamed, FieldsUnnamed, GenericArgument, GenericParam, Generics, Ident, Index, Lifetime,
14+
Lit, LitBool, LitByteStr, LitChar, LitFloat, LitInt, LitStr, Member, Meta, MetaList,
15+
MetaNameValue, ParenthesizedGenericArguments, Path, PathSegment, ReturnType, TraitBound, Type,
16+
TypeArray, TypeFnPtr, TypeGroup, TypeImplTrait, TypeInfer, TypeMacro, TypeNever, TypeParam,
17+
TypeParamBound, TypeParen, TypePath, TypePtr, TypeReference, TypeSlice, TypeTraitObject,
18+
TypeTuple, UnOp, Variant, Visibility, WhereClause, WherePredicate,
1919
};
2020

2121
use crate::parsing::*;
@@ -134,7 +134,6 @@ impl_Attribute_for_Parse_and_ToTokens![
134134
Auto,
135135
Await,
136136
Not,
137-
BareFnArg,
138137
Become,
139138
BinOp,
140139
BoundLifetimes,
@@ -227,10 +226,9 @@ impl_Attribute_for_Parse_and_ToTokens![
227226
Tilde,
228227
Trait,
229228
TraitBound,
230-
TraitBoundModifier,
231229
Try,
232230
TypeArray,
233-
TypeBareFn,
231+
TypeFnPtr,
234232
TypeGroup,
235233
TypeImplTrait,
236234
TypeInfer,
@@ -282,8 +280,6 @@ mod syn_full {
282280
Stmt, TraitItem, TraitItemConst, TraitItemMacro, TraitItemType, UseTree,
283281
};
284282

285-
use super::*;
286-
287283
impl_Attribute_for_Parse_and_ToTokens![
288284
Arm,
289285
Block,

tests/derive-legacy.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#![allow(deprecated)]
1+
#![allow(deprecated, unused)]
22
use attribute_derive::Attribute;
33
use syn::parse_quote;
44

@@ -7,7 +7,7 @@ use syn::parse_quote;
77
fn test() {
88
use proc_macro2::TokenStream;
99
use quote::quote;
10-
use syn::{parse2, Expr, LitStr, Type};
10+
use syn::{Expr, LitStr, Type, parse2};
1111

1212
#[derive(Attribute)]
1313
#[attribute(ident = test)]

tests/derive.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#![allow(unused)]
12
use attribute_derive::parsing::AttributeNamed;
23
use attribute_derive::{FlagOrValue, FromAttr, AttributeIdent};
34
use proc_macro2::TokenStream;

0 commit comments

Comments
 (0)