Skip to content

Commit 32f0d00

Browse files
committed
Update to syn 2
1 parent 9d87851 commit 32f0d00

File tree

12 files changed

+199
-199
lines changed

12 files changed

+199
-199
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,12 @@ jobs:
108108
- run: cd serde && cargo build
109109

110110
derive:
111-
name: Rust 1.31.0
111+
name: Rust 1.56.0
112112
runs-on: ubuntu-latest
113113
timeout-minutes: 45
114114
steps:
115115
- uses: actions/checkout@v3
116-
- uses: dtolnay/rust-toolchain@1.31.0
116+
- uses: dtolnay/rust-toolchain@1.56.0
117117
- run: cd serde && cargo check --no-default-features
118118
- run: cd serde && cargo check
119119
- run: cd serde_derive && cargo check

serde_derive/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ proc-macro = true
2424
[dependencies]
2525
proc-macro2 = "1.0"
2626
quote = "1.0"
27-
syn = "1.0.104"
27+
syn = "2.0"
2828

2929
[dev-dependencies]
3030
serde = { version = "1.0", path = "../serde" }

serde_derive/src/bound.rs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,16 @@ pub fn with_bound(
200200
for arg in &arguments.args {
201201
match arg {
202202
syn::GenericArgument::Type(arg) => self.visit_type(arg),
203-
syn::GenericArgument::Binding(arg) => self.visit_type(&arg.ty),
203+
syn::GenericArgument::AssocType(arg) => self.visit_type(&arg.ty),
204204
syn::GenericArgument::Lifetime(_)
205-
| syn::GenericArgument::Constraint(_)
206-
| syn::GenericArgument::Const(_) => {}
205+
| syn::GenericArgument::Const(_)
206+
| syn::GenericArgument::AssocConst(_)
207+
| syn::GenericArgument::Constraint(_) => {}
208+
#[cfg_attr(
209+
all(test, exhaustive),
210+
deny(non_exhaustive_omitted_patterns)
211+
)]
212+
_ => {}
207213
}
208214
}
209215
}
@@ -226,7 +232,9 @@ pub fn with_bound(
226232
fn visit_type_param_bound(&mut self, bound: &'ast syn::TypeParamBound) {
227233
match bound {
228234
syn::TypeParamBound::Trait(bound) => self.visit_path(&bound.path),
229-
syn::TypeParamBound::Lifetime(_) => {}
235+
syn::TypeParamBound::Lifetime(_) | syn::TypeParamBound::Verbatim(_) => {}
236+
#[cfg_attr(all(test, exhaustive), deny(non_exhaustive_omitted_patterns))]
237+
_ => {}
230238
}
231239
}
232240

@@ -334,7 +342,7 @@ pub fn with_self_bound(
334342

335343
pub fn with_lifetime_bound(generics: &syn::Generics, lifetime: &str) -> syn::Generics {
336344
let bound = syn::Lifetime::new(lifetime, Span::call_site());
337-
let def = syn::LifetimeDef {
345+
let def = syn::LifetimeParam {
338346
attrs: Vec::new(),
339347
lifetime: bound.clone(),
340348
colon_token: None,

serde_derive/src/de.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,9 @@ impl BorrowedLifetimes {
244244
}
245245
}
246246

247-
fn de_lifetime_def(&self) -> Option<syn::LifetimeDef> {
247+
fn de_lifetime_param(&self) -> Option<syn::LifetimeParam> {
248248
match self {
249-
BorrowedLifetimes::Borrowed(bounds) => Some(syn::LifetimeDef {
249+
BorrowedLifetimes::Borrowed(bounds) => Some(syn::LifetimeParam {
250250
attrs: Vec::new(),
251251
lifetime: syn::Lifetime::new("'de", Span::call_site()),
252252
colon_token: None,
@@ -3011,7 +3011,7 @@ struct InPlaceImplGenerics<'a>(&'a Parameters);
30113011
impl<'a> ToTokens for DeImplGenerics<'a> {
30123012
fn to_tokens(&self, tokens: &mut TokenStream) {
30133013
let mut generics = self.0.generics.clone();
3014-
if let Some(de_lifetime) = self.0.borrowed.de_lifetime_def() {
3014+
if let Some(de_lifetime) = self.0.borrowed.de_lifetime_param() {
30153015
generics.params = Some(syn::GenericParam::Lifetime(de_lifetime))
30163016
.into_iter()
30173017
.chain(generics.params)
@@ -3046,7 +3046,7 @@ impl<'a> ToTokens for InPlaceImplGenerics<'a> {
30463046
.into_iter()
30473047
.chain(generics.params)
30483048
.collect();
3049-
if let Some(de_lifetime) = self.0.borrowed.de_lifetime_def() {
3049+
if let Some(de_lifetime) = self.0.borrowed.de_lifetime_param() {
30503050
generics.params = Some(syn::GenericParam::Lifetime(de_lifetime))
30513051
.into_iter()
30523052
.chain(generics.params)
@@ -3071,8 +3071,8 @@ struct InPlaceTypeGenerics<'a>(&'a Parameters);
30713071
impl<'a> ToTokens for DeTypeGenerics<'a> {
30723072
fn to_tokens(&self, tokens: &mut TokenStream) {
30733073
let mut generics = self.0.generics.clone();
3074-
if self.0.borrowed.de_lifetime_def().is_some() {
3075-
let def = syn::LifetimeDef {
3074+
if self.0.borrowed.de_lifetime_param().is_some() {
3075+
let def = syn::LifetimeParam {
30763076
attrs: Vec::new(),
30773077
lifetime: syn::Lifetime::new("'de", Span::call_site()),
30783078
colon_token: None,
@@ -3097,8 +3097,8 @@ impl<'a> ToTokens for InPlaceTypeGenerics<'a> {
30973097
.chain(generics.params)
30983098
.collect();
30993099

3100-
if self.0.borrowed.de_lifetime_def().is_some() {
3101-
let def = syn::LifetimeDef {
3100+
if self.0.borrowed.de_lifetime_param().is_some() {
3101+
let def = syn::LifetimeParam {
31023102
attrs: Vec::new(),
31033103
lifetime: syn::Lifetime::new("'de", Span::call_site()),
31043104
colon_token: None,
@@ -3122,8 +3122,8 @@ impl<'a> DeTypeGenerics<'a> {
31223122
}
31233123

31243124
#[cfg(feature = "deserialize_in_place")]
3125-
fn place_lifetime() -> syn::LifetimeDef {
3126-
syn::LifetimeDef {
3125+
fn place_lifetime() -> syn::LifetimeParam {
3126+
syn::LifetimeParam {
31273127
attrs: Vec::new(),
31283128
lifetime: syn::Lifetime::new("'place", Span::call_site()),
31293129
colon_token: None,

0 commit comments

Comments
 (0)