Skip to content

Commit 1f37755

Browse files
committed
Fixes #71 and fixes #73
1 parent 11f6fda commit 1f37755

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/macros.rs

+8-10
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,9 @@ macro_rules! ulps_ne {
8282
#[macro_export]
8383
macro_rules! __assert_approx {
8484
($eq:ident, $given:expr, $expected:expr) => {{
85-
let (given, expected) = (&($given), &($expected));
86-
87-
if !$eq!(*given, *expected) {
88-
panic!(
85+
match (&($given), &($expected)) {
86+
(given, expected) => assert!(
87+
$eq!(*given, *expected),
8988
"assert_{}!({}, {})
9089
9190
left = {:?}
@@ -96,14 +95,13 @@ macro_rules! __assert_approx {
9695
stringify!($given),
9796
stringify!($expected),
9897
given, expected,
99-
);
98+
),
10099
}
101100
}};
102101
($eq:ident, $given:expr, $expected:expr, $($opt:ident = $val:expr),+) => {{
103-
let (given, expected) = (&($given), &($expected));
104-
105-
if !$eq!(*given, *expected, $($opt = $val),+) {
106-
panic!(
102+
match (&($given), &($expected)) {
103+
(given, expected) => assert!(
104+
$eq!(*given, *expected, $($opt = $val),+),
107105
"assert_{}!({}, {}, {})
108106
109107
left = {:?}
@@ -115,7 +113,7 @@ macro_rules! __assert_approx {
115113
stringify!($expected),
116114
stringify!($($opt = $val),+),
117115
given, expected,
118-
);
116+
),
119117
}
120118
}};
121119
}

tests/macros.rs

+7
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,10 @@ fn test_ulps_ne_trailing_commas() {
9696
let _: bool = ulps_ne!(1.0, 1.0,);
9797
let _: bool = ulps_ne!(1.0, 1.0, epsilon = 1.0, max_ulps = 1,);
9898
}
99+
100+
#[test]
101+
fn test_rvalue_arguments() {
102+
assert_abs_diff_eq!(vec![0.0].as_slice(), vec![0.0].as_slice());
103+
assert_relative_eq!(vec![0.0].as_slice(), vec![0.0].as_slice());
104+
assert_ulps_eq!(vec![0.0].as_slice(), vec![0.0].as_slice());
105+
}

0 commit comments

Comments
 (0)