diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-11-27 18:05:20 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-11-28 11:28:56 -0800 |
| commit | 07f4031bb40967f9c5c0ee61b71e1d9cffd34b58 (patch) | |
| tree | a7c7077c1d6e298f151b328ac727a5ef534e288f /src/libcore | |
| parent | 61cfec3c52d3ac316b627c4b20c9c6e81e7521f2 (diff) | |
libsyntax: Implement a macro `die!` to replace the `fail` expression. r=brson
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/rt.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libcore/rt.rs b/src/libcore/rt.rs index 9bc83a5f904..04a8ee30235 100644 --- a/src/libcore/rt.rs +++ b/src/libcore/rt.rs @@ -34,9 +34,12 @@ extern mod rustrt { // 'rt_', otherwise the compiler won't find it. To fix this, see // gather_rust_rtcalls. #[rt(fail_)] -pub fn rt_fail_(expr: *c_char, file: *c_char, line: size_t) { - cleanup_stack_for_failure(); - rustrt::rust_upcall_fail(expr, file, line); +pub fn rt_fail_(expr: *c_char, file: *c_char, line: size_t) -> ! { + unsafe { + cleanup_stack_for_failure(); + rustrt::rust_upcall_fail(expr, file, line); + cast::transmute(()) + } } #[rt(fail_bounds_check)] |
