diff --git a/src/macros/rustc.rs b/src/macros/rustc.rs index a3bab26f..d286ed33 100644 --- a/src/macros/rustc.rs +++ b/src/macros/rustc.rs @@ -9,11 +9,13 @@ pub(super) fn flags_capture(args: TokenStream) -> TokenStream { }; let flag = std::env::args().collect::>(); + let flag_len = flag.len(); let ret = quote! { + pub static RUSTC_FLAGS: [&str; #flag_len] = [#( #flag ),*]; + #[conduit_core::ctor] fn _set_rustc_flags() { - let flags = &[#( #flag ),*]; - conduit_core::info::rustc::FLAGS.lock().expect("locked").insert(#crate_name, flags); + conduit_core::info::rustc::FLAGS.lock().expect("locked").insert(#crate_name, &RUSTC_FLAGS); } // static strings have to be yanked on module unload