Skip to content

Commit 7b40bd5

Browse files
committed
use unwrap_or_else
1 parent 337cb0c commit 7b40bd5

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

der/derive/src/sequence.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use field::SequenceField;
88
use proc_macro2::TokenStream;
99
use proc_macro_error::abort;
1010
use quote::quote;
11-
use syn::{DeriveInput, GenericParam, Generics, Ident, Lifetime, LifetimeParam};
11+
use syn::{DeriveInput, GenericParam, Generics, Ident, LifetimeParam};
1212

1313
/// Derive the `Sequence` trait for a struct
1414
pub(crate) struct DeriveSequence {
@@ -55,16 +55,17 @@ impl DeriveSequence {
5555

5656
// Use the first lifetime parameter as lifetime for Decode/Encode lifetime
5757
// if none found, add one.
58-
let lifetime: Lifetime = if let Some(lt) = generics.lifetimes().next() {
59-
lt.lifetime.clone()
60-
} else {
61-
let lifetime = default_lifetime();
62-
generics.params.insert(
63-
0,
64-
GenericParam::Lifetime(LifetimeParam::new(lifetime.clone())),
65-
);
66-
lifetime
67-
};
58+
let lifetime = generics
59+
.lifetimes()
60+
.next()
61+
.map(|lt| lt.lifetime.clone())
62+
.unwrap_or_else(|| {
63+
let lt = default_lifetime();
64+
generics
65+
.params
66+
.insert(0, GenericParam::Lifetime(LifetimeParam::new(lt.clone())));
67+
lt
68+
});
6869

6970
// We may or may not have inserted a lifetime.
7071
let (_impl_generics, ty_generics, where_clause) = self.generics.split_for_impl();

0 commit comments

Comments
 (0)