Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freeze

This commit is contained in:
Niko Matsakis
2013-05-06 16:10:31 -04:00
18 changed files with 403 additions and 363 deletions

View File

@@ -486,6 +486,42 @@ pub fn core_macros() -> ~str {
)
)
macro_rules! assert_approx_eq (
($given:expr , $expected:expr) => (
{
use core::cmp::ApproxEq;
let given_val = $given;
let expected_val = $expected;
// check both directions of equality....
if !(
given_val.approx_eq(&expected_val) &&
expected_val.approx_eq(&given_val)
) {
fail!(\"left: %? does not approximately equal right: %?\",
given_val, expected_val);
}
}
);
($given:expr , $expected:expr , $epsilon:expr) => (
{
use core::cmp::ApproxEq;
let given_val = $given;
let expected_val = $expected;
let epsilon_val = $epsilon;
// check both directions of equality....
if !(
given_val.approx_eq_eps(&expected_val, &epsilon_val) &&
expected_val.approx_eq_eps(&given_val, &epsilon_val)
) {
fail!(\"left: %? does not approximately equal right: %? with epsilon: %?\",
given_val, expected_val, epsilon_val);
}
}
)
)
macro_rules! condition (
{ $c:ident: $in:ty -> $out:ty; } => {