From 8ab480373668d010c2609bf90742424228705ec8 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Fri, 5 May 2023 09:23:15 +0200 Subject: [PATCH] ensure that the proc_macro crate exists in the sysroot --- src/tools/miri/test-cargo-miri/subcrate/src/lib.rs | 13 ++++++++++++- src/tools/miri/tests/pass/sysroot.rs | 9 +++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/tools/miri/tests/pass/sysroot.rs diff --git a/src/tools/miri/test-cargo-miri/subcrate/src/lib.rs b/src/tools/miri/test-cargo-miri/subcrate/src/lib.rs index 2ccb6704b05e..98c22fef0766 100644 --- a/src/tools/miri/test-cargo-miri/subcrate/src/lib.rs +++ b/src/tools/miri/test-cargo-miri/subcrate/src/lib.rs @@ -1,5 +1,16 @@ +// This is a proc-macro crate. + +extern crate proc_macro; // make sure proc_macro is in the sysroot + #[cfg(doctest)] compile_error!("rustdoc should not touch me"); -#[cfg(test)] +#[cfg(miri)] compile_error!("Miri should not touch me"); + +use proc_macro::TokenStream; + +#[proc_macro] +pub fn make_answer(_item: TokenStream) -> TokenStream { + "fn answer() -> u32 { 42 }".parse().unwrap() +} diff --git a/src/tools/miri/tests/pass/sysroot.rs b/src/tools/miri/tests/pass/sysroot.rs new file mode 100644 index 000000000000..2c80e5bbd841 --- /dev/null +++ b/src/tools/miri/tests/pass/sysroot.rs @@ -0,0 +1,9 @@ +//! Just check that some things are available in the sysroot. +#![feature(test)] +#![allow(unused)] + +extern crate proc_macro; +extern crate std; +extern crate test; + +fn main() {}