macro_rules! fail(
() => ({
// static requires less code at runtime, more constant data
- static file_line: (&'static str, uint) = (file!(), line!());
- ::std::rt::begin_unwind_no_time_to_explain(&file_line)
+ static FILE_LINE: (&'static str, uint) = (file!(), line!());
+ ::std::rt::begin_unwind_no_time_to_explain(&FILE_LINE)
});
($msg:expr) => ({
- static file_line: (&'static str, uint) = (file!(), line!());
- let (file, line) = file_line;
+ static FILE_LINE: (&'static str, uint) = (file!(), line!());
+ let (file, line) = FILE_LINE;
::std::rt::begin_unwind($msg, file, line)
});
($fmt:expr, $($arg:tt)*) => ({
// up with the number of calls to fail!()
#[inline(always)]
fn run_fmt(fmt: &::std::fmt::Arguments) -> ! {
- static file_line: (&'static str, uint) = (file!(), line!());
- ::std::rt::begin_unwind_fmt(fmt, &file_line)
+ static FILE_LINE: (&'static str, uint) = (file!(), line!());
+ ::std::rt::begin_unwind_fmt(fmt, &FILE_LINE)
}
format_args!(run_fmt, $fmt, $($arg)*)
});