Skip to content

Commit 36c7684

Browse files
committed
Use a not so dummy implementation of env macro
1 parent 48bb1c5 commit 36c7684

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

crates/ra_hir_expand/src/builtin_macro.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ fn env_expand(
142142
_tt: &tt::Subtree,
143143
) -> Result<tt::Subtree, mbe::ExpandError> {
144144
// dummy implementation for type-checking purposes
145-
let expanded = quote! { "" };
145+
let expanded = quote! { "__RA_UNIMPLEMENTATED__" };
146146

147147
Ok(expanded)
148148
}

crates/ra_hir_ty/src/tests/macros.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,33 @@ fn bar() -> u32 {0}
483483
assert_eq!("u32", type_at_pos(&db, pos));
484484
}
485485

486+
#[test]
487+
fn infer_builtin_macros_include_concat_with_bad_env_should_failed() {
488+
let (db, pos) = TestDB::with_position(
489+
r#"
490+
//- /main.rs
491+
#[rustc_builtin_macro]
492+
macro_rules! include {() => {}}
493+
494+
#[rustc_builtin_macro]
495+
macro_rules! concat {() => {}}
496+
497+
#[rustc_builtin_macro]
498+
macro_rules! env {() => {}}
499+
500+
include!(concat!(env!("OUT_DIR"), "/foo.rs"));
501+
502+
fn main() {
503+
bar()<|>;
504+
}
505+
506+
//- /foo.rs
507+
fn bar() -> u32 {0}
508+
"#,
509+
);
510+
assert_eq!("{unknown}", type_at_pos(&db, pos));
511+
}
512+
486513
#[test]
487514
fn infer_builtin_macros_concat_with_lazy() {
488515
assert_snapshot!(

0 commit comments

Comments
 (0)