Prevent include! macro include itself

This commit is contained in:
Edwin Cheng 2020-03-07 16:25:43 +08:00
parent 919747c323
commit 18f88ad10b
2 changed files with 24 additions and 1 deletions

View file

@ -510,6 +510,24 @@ fn bar() -> u32 {0}
assert_eq!("{unknown}", type_at_pos(&db, pos));
}
#[test]
fn infer_builtin_macros_include_itself_should_failed() {
let (db, pos) = TestDB::with_position(
r#"
//- /main.rs
#[rustc_builtin_macro]
macro_rules! include {() => {}}
include!("main.rs");
fn main() {
0<|>
}
"#,
);
assert_eq!("i32", type_at_pos(&db, pos));
}
#[test]
fn infer_builtin_macros_concat_with_lazy() {
assert_snapshot!(