diff options
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/deriving/generic/ty.rs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/libsyntax_ext/deriving/generic/ty.rs b/src/libsyntax_ext/deriving/generic/ty.rs index dcccb187bef..a0845e0982d 100644 --- a/src/libsyntax_ext/deriving/generic/ty.rs +++ b/src/libsyntax_ext/deriving/generic/ty.rs @@ -138,17 +138,13 @@ pub fn nil_ty<'r>() -> Ty<'r> { } fn mk_lifetime(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Option<ast::Lifetime> { - match *lt { - Some(s) => Some(cx.lifetime(span, Ident::from_str(s))), - None => None, - } + lt.map(|s| + cx.lifetime(span, Ident::from_str(s)) + ) } fn mk_lifetimes(cx: &ExtCtxt, span: Span, lt: &Option<&str>) -> Vec<ast::Lifetime> { - match *lt { - Some(s) => vec![cx.lifetime(span, Ident::from_str(s))], - None => vec![], - } + mk_lifetime(cx, span, lt).into_iter().collect() } impl<'a> Ty<'a> { |
