Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/macro_expansion_tests/proc_macros.rs')
-rw-r--r--crates/hir-def/src/macro_expansion_tests/proc_macros.rs96
1 files changed, 7 insertions, 89 deletions
diff --git a/crates/hir-def/src/macro_expansion_tests/proc_macros.rs b/crates/hir-def/src/macro_expansion_tests/proc_macros.rs
index 3f0afe61e0..6952a9da10 100644
--- a/crates/hir-def/src/macro_expansion_tests/proc_macros.rs
+++ b/crates/hir-def/src/macro_expansion_tests/proc_macros.rs
@@ -9,93 +9,37 @@ use crate::macro_expansion_tests::{check, check_errors};
#[test]
fn attribute_macro_attr_censoring() {
+ cov_mark::check!(attribute_macro_attr_censoring);
check(
r#"
//- proc_macros: identity
-//- minicore: derive
-#[attr1] #[derive()] #[proc_macros::identity] #[attr2]
+#[attr1] #[proc_macros::identity] #[attr2]
struct S;
-
-/// Foo
-#[cfg_attr(false, doc = "abc...", attr1)]
-mod foo {
- #![cfg_attr(true, cfg_attr(true, foo, cfg_attr(false, bar), proc_macros::identity))]
- #![cfg_attr(true, doc = "123...", attr2)]
- #![attr3]
-
- #[cfg_attr(true, cfg(false))]
- fn foo() {}
-
- #[cfg(true)]
- fn bar() {}
-}
"#,
- expect![[r##"
-#[attr1] #[derive()] #[proc_macros::identity] #[attr2]
+ expect![[r#"
+#[attr1] #[proc_macros::identity] #[attr2]
struct S;
-/// Foo
-#[cfg_attr(false, doc = "abc...", attr1)]
-mod foo {
- #![cfg_attr(true, cfg_attr(true, foo, cfg_attr(false, bar), proc_macros::identity))]
- #![cfg_attr(true, doc = "123...", attr2)]
- #![attr3]
-
- #[cfg_attr(true, cfg(false))]
- fn foo() {}
-
- #[cfg(true)]
- fn bar() {}
-}
-
#[attr1]
-#[attr2] struct S;
-#[doc = " Foo"] mod foo {
- # ![foo]
- # ![doc = "123..."]
- # ![attr2]
- # ![attr3]
- #[cfg_attr(true , cfg(false ))] fn foo() {}
- #[cfg(true )] fn bar() {}
-}"##]],
+#[attr2] struct S;"#]],
);
}
#[test]
fn derive_censoring() {
+ cov_mark::check!(derive_censoring);
check(
r#"
//- proc_macros: derive_identity
//- minicore:derive
-use derive as my_cool_derive;
#[attr1]
#[derive(Foo)]
#[derive(proc_macros::DeriveIdentity)]
#[derive(Bar)]
#[attr2]
struct S;
-
-#[my_cool_derive()]
-#[cfg_attr(true, derive(), attr1, derive(proc_macros::DeriveIdentity))]
-#[my_cool_derive()]
-struct Foo {
- #[cfg_attr(false, cfg(false), attr2)]
- v1: i32,
- #[cfg_attr(true, cfg(false), attr2)]
- v1: i32,
- #[cfg_attr(true, attr3)]
- v2: fn(#[cfg(false)] param: i32, #[cfg_attr(true, attr4)] param2: u32),
- v3: Foo<{
- #[cfg(false)]
- let foo = 123;
- 456
- }>,
- #[cfg(false)]
- v4: bool // No comma here
-}
"#,
expect![[r#"
-use derive as my_cool_derive;
#[attr1]
#[derive(Foo)]
#[derive(proc_macros::DeriveIdentity)]
@@ -103,32 +47,6 @@ use derive as my_cool_derive;
#[attr2]
struct S;
-#[my_cool_derive()]
-#[cfg_attr(true, derive(), attr1, derive(proc_macros::DeriveIdentity))]
-#[my_cool_derive()]
-struct Foo {
- #[cfg_attr(false, cfg(false), attr2)]
- v1: i32,
- #[cfg_attr(true, cfg(false), attr2)]
- v1: i32,
- #[cfg_attr(true, attr3)]
- v2: fn(#[cfg(false)] param: i32, #[cfg_attr(true, attr4)] param2: u32),
- v3: Foo<{
- #[cfg(false)]
- let foo = 123;
- 456
- }>,
- #[cfg(false)]
- v4: bool // No comma here
-}
-
-#[attr1]
-#[my_cool_derive()] struct Foo {
- v1: i32, #[attr3]v2: fn(#[attr4]param2: u32), v3: Foo< {
- 456
- }
- >,
-}
#[attr1]
#[derive(Bar)]
#[attr2] struct S;"#]],
@@ -169,7 +87,7 @@ fn foo() { bar.; blub }
fn foo() { bar.; blub }
fn foo() {
- bar.;
+ bar. ;
blub
}"#]],
);