@@ -809,6 +809,7 @@ pub macro derive($item:item) {}
809809struct S;
810810
811811//- /proc.rs crate:proc
812+ #![crate_type="proc-macro"]
812813#[proc_macro_derive(Derive, attributes(helper))]
813814fn derive() {}
814815 "# ,
@@ -886,29 +887,30 @@ indirect_macro!();
886887#[ test]
887888fn resolves_proc_macros ( ) {
888889 check (
889- r"
890- struct TokenStream;
890+ r#"
891+ #![crate_type="proc-macro"]
892+ struct TokenStream;
891893
892- #[proc_macro]
893- pub fn function_like_macro(args: TokenStream) -> TokenStream {
894- args
895- }
894+ #[proc_macro]
895+ pub fn function_like_macro(args: TokenStream) -> TokenStream {
896+ args
897+ }
896898
897- #[proc_macro_attribute]
898- pub fn attribute_macro(_args: TokenStream, item: TokenStream) -> TokenStream {
899- item
900- }
899+ #[proc_macro_attribute]
900+ pub fn attribute_macro(_args: TokenStream, item: TokenStream) -> TokenStream {
901+ item
902+ }
901903
902- #[proc_macro_derive(DummyTrait)]
903- pub fn derive_macro(_item: TokenStream) -> TokenStream {
904- TokenStream
905- }
904+ #[proc_macro_derive(DummyTrait)]
905+ pub fn derive_macro(_item: TokenStream) -> TokenStream {
906+ TokenStream
907+ }
906908
907- #[proc_macro_derive(AnotherTrait, attributes(helper_attr))]
908- pub fn derive_macro_2(_item: TokenStream) -> TokenStream {
909- TokenStream
910- }
911- " ,
909+ #[proc_macro_derive(AnotherTrait, attributes(helper_attr))]
910+ pub fn derive_macro_2(_item: TokenStream) -> TokenStream {
911+ TokenStream
912+ }
913+ "# ,
912914 expect ! [ [ r#"
913915 crate
914916 AnotherTrait: m
@@ -927,33 +929,34 @@ fn proc_macro_censoring() {
927929 // Make sure that only proc macros are publicly exported from proc-macro crates.
928930
929931 check (
930- r"
931- //- /main.rs crate:main deps:macros
932- pub use macros::*;
932+ r# "
933+ //- /main.rs crate:main deps:macros
934+ pub use macros::*;
933935
934- //- /macros.rs crate:macros
935- pub struct TokenStream;
936+ //- /macros.rs crate:macros
937+ #![crate_type="proc-macro"]
938+ pub struct TokenStream;
936939
937- #[proc_macro]
938- pub fn function_like_macro(args: TokenStream) -> TokenStream {
939- args
940- }
940+ #[proc_macro]
941+ pub fn function_like_macro(args: TokenStream) -> TokenStream {
942+ args
943+ }
941944
942- #[proc_macro_attribute]
943- pub fn attribute_macro(_args: TokenStream, item: TokenStream) -> TokenStream {
944- item
945- }
945+ #[proc_macro_attribute]
946+ pub fn attribute_macro(_args: TokenStream, item: TokenStream) -> TokenStream {
947+ item
948+ }
946949
947- #[proc_macro_derive(DummyTrait)]
948- pub fn derive_macro(_item: TokenStream) -> TokenStream {
949- TokenStream
950- }
950+ #[proc_macro_derive(DummyTrait)]
951+ pub fn derive_macro(_item: TokenStream) -> TokenStream {
952+ TokenStream
953+ }
951954
952- #[macro_export]
953- macro_rules! mbe {
954- () => {};
955- }
956- " ,
955+ #[macro_export]
956+ macro_rules! mbe {
957+ () => {};
958+ }
959+ "# ,
957960 expect ! [ [ r#"
958961 crate
959962 DummyTrait: m
@@ -966,14 +969,15 @@ fn proc_macro_censoring() {
966969#[ test]
967970fn collects_derive_helpers ( ) {
968971 let def_map = compute_crate_def_map (
969- r"
970- struct TokenStream;
972+ r#"
973+ #![crate_type="proc-macro"]
974+ struct TokenStream;
971975
972- #[proc_macro_derive(AnotherTrait, attributes(helper_attr))]
973- pub fn derive_macro_2(_item: TokenStream) -> TokenStream {
974- TokenStream
975- }
976- " ,
976+ #[proc_macro_derive(AnotherTrait, attributes(helper_attr))]
977+ pub fn derive_macro_2(_item: TokenStream) -> TokenStream {
978+ TokenStream
979+ }
980+ "# ,
977981 ) ;
978982
979983 assert_eq ! ( def_map. exported_derives. len( ) , 1 ) ;
0 commit comments