rustc crash when proc macro panics if compiled with -Cpanic=abort · Issue #82320 · rust-lang/rust (original) (raw)

Code

Panicking proc macro p.rs:

extern crate proc_macro;

#[proc_macro] pub fn p(_: proc_macro::TokenStream) -> proc_macro::TokenStream { panic!() }

User m.rs:

Then:

$ rustc -Cpanic=abort --crate-type proc-macro p.rs
$ rustc -L. m.rs

Meta

Reproduces in 1.49.0, 1.50.0 as well as nightlies.

Error output

Depends on how the proc macro is compiled. It can range from some output:

$ rustc -Cpanic=abort --crate-type proc-macro p.rs
$ rustc -L. m.rs
fatal runtime error: failed to initiate panic, error 5
(aborted)

To nothing at all:

$ rustc -Cpanic=abort --crate-type proc-macro p.rs -Cforce-unwind-tables=y
$ rustc -L. m.rs
(return code 101)