aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/hir_def/src/body/tests.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/crates/hir_def/src/body/tests.rs b/crates/hir_def/src/body/tests.rs
index f07df5cee..baf1179f1 100644
--- a/crates/hir_def/src/body/tests.rs
+++ b/crates/hir_def/src/body/tests.rs
@@ -73,3 +73,44 @@ fn f() {
73 ", 73 ",
74 ); 74 );
75} 75}
76
77#[test]
78fn macro_diag_builtin() {
79 check_diagnostics(
80 r#"
81fn f() {
82 // Test a handful of built-in (eager) macros:
83
84 include!(invalid);
85 //^^^^^^^^^^^^^^^^^ failed to parse or resolve macro invocation
86 include!("does not exist");
87 //^^^^^^^^^^^^^^^^^^^^^^^^^^ failed to parse or resolve macro invocation
88
89 env!(invalid);
90 //^^^^^^^^^^^^^ failed to parse or resolve macro invocation
91
92 // Lazy:
93
94 format_args!();
95 //^^^^^^^^^^^^^^ failed to parse or resolve macro invocation
96}
97 "#,
98 );
99}
100
101#[test]
102fn macro_rules_diag() {
103 check_diagnostics(
104 r#"
105macro_rules! m {
106 () => {};
107}
108fn f() {
109 m!();
110
111 m!(hi);
112 //^^^^^^ leftover tokens
113}
114 "#,
115 );
116}