From 07dc709ba4099bf0c6738f18c2d975c7b893435c Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Sun, 27 Mar 2016 04:24:42 +0530 Subject: [PATCH] Allow trailing commas in if_let_chain --- src/utils/mod.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 09fb1475b..0389c3d56 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -55,6 +55,7 @@ pub const STRING_PATH: [&'static str; 3] = ["collections", "string", "String"]; pub const TRANSMUTE_PATH: [&'static str; 3] = ["core", "intrinsics", "transmute"]; pub const VEC_FROM_ELEM_PATH: [&'static str; 3] = ["std", "vec", "from_elem"]; pub const VEC_PATH: [&'static str; 3] = ["collections", "vec", "Vec"]; +pub const BOX_PATH: [&'static str; 3] = ["std", "boxed", "Box"]; /// Produce a nested chain of if-lets and ifs from the patterns: /// @@ -90,6 +91,11 @@ macro_rules! if_let_chain { $block } }; + ([let $pat:pat = $expr:expr,], $block:block) => { + if let $pat = $expr { + $block + } + }; ([$expr:expr, $($tt:tt)+], $block:block) => { if $expr { if_let_chain!{ [$($tt)+], $block } @@ -100,6 +106,11 @@ macro_rules! if_let_chain { $block } }; + ([$expr:expr,], $block:block) => { + if $expr { + $block + } + }; } /// Returns true if the two spans come from differing expansions (i.e. one is from a macro and one