@@ -84,13 +84,13 @@ macro_rules! assert_helper {
84
84
#[ doc( hidden) ]
85
85
#[ macro_export]
86
86
macro_rules! assert_helper {
87
- ( condition = $condition: expr, $message: literal, $details: expr, $assert_type: path, $display_type: literal, must_hit = $must_hit: literal) => { {
87
+ ( condition = $condition: expr, $message: literal, $( details = $details : expr) ? , $assert_type: path, $display_type: literal, must_hit = $must_hit: literal) => { {
88
88
// Force evaluation of expressions, ensuring that
89
89
// any side effects of these expressions will always be
90
90
// evaluated at runtime - even if the assertion itself
91
91
// is supressed by the `no-antithesis-sdk` feature
92
92
let condition = $condition;
93
- let details = $details;
93
+ $ ( let details = $details; ) ?
94
94
} } ;
95
95
}
96
96
@@ -367,7 +367,7 @@ macro_rules! numeric_guidance_helper {
367
367
#[ doc( hidden) ]
368
368
#[ macro_export]
369
369
macro_rules! numeric_guidance_helper {
370
- ( $assert: ident , $op: tt, $maximize: literal, $left: expr, $right: expr, $message: literal$( , $details: expr) ?) => {
370
+ ( $assert: path , $op: tt, $maximize: literal, $left: expr, $right: expr, $message: literal$( , $details: expr) ?) => {
371
371
assert!( $left $op $right, $message$( , $details) ?) ;
372
372
} ;
373
373
}
@@ -398,8 +398,11 @@ macro_rules! boolean_guidance_helper {
398
398
#[ macro_export]
399
399
macro_rules! boolean_guidance_helper {
400
400
( $assert: path, $all: literal, { $( $name: ident: $cond: expr) ,* } , $message: literal$( , $details: expr) ?) => { {
401
- let cond = if $all { true $( && $name) * } else { false $( || $name) * } ,
402
- $assert!( cond, $message$( , & $details) ?) ;
401
+ let cond = {
402
+ $( let $name = $cond; ) *
403
+ if $all { true $( && $name) * } else { false $( || $name) * }
404
+ } ;
405
+ $assert!( cond, $message$( , $details) ?) ;
403
406
} } ;
404
407
}
405
408
0 commit comments