From e66e37cbf1806f4e0b7a9e6935c8198b3a6c4b2f Mon Sep 17 00:00:00 2001 From: jumbatm Date: Thu, 23 Apr 2020 22:52:27 +1000 Subject: [PATCH] Don't duplicate body of try_validation. --- src/librustc_mir/interpret/validity.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/librustc_mir/interpret/validity.rs b/src/librustc_mir/interpret/validity.rs index 1e4c9367f6a6..42cdb1dc2a65 100644 --- a/src/librustc_mir/interpret/validity.rs +++ b/src/librustc_mir/interpret/validity.rs @@ -39,12 +39,7 @@ macro_rules! throw_validation_failure { /// Returns a validation failure for any Err value of $e. macro_rules! try_validation { ($e:expr, $what:expr, $where:expr $(, $details:expr )?) => {{ - match $e { - Ok(x) => x, - // We catch the error and turn it into a validation failure. We are okay with - // allocation here as this can only slow down builds that fail anyway. - Err(_) => throw_validation_failure!($what, $where $(, $details)?), - } + try_validation_pat!($e, _, $what, $where $(, $details )?) }}; } /// Like try_validation, but will throw a validation error if any of the patterns in $p are @@ -60,6 +55,8 @@ macro_rules! try_validation_pat { ($e:expr, $( $p:pat )|*, $what:expr, $where:expr $(, $details:expr )?) => {{ match $e { Ok(x) => x, + // We catch the error and turn it into a validation failure. We are okay with + // allocation here as this can only slow down builds that fail anyway. $( Err($p) )|* if true => throw_validation_failure!($what, $where $(, $details)?), Err(e) => Err::(e)?, }