Skip to content

Commit 11a87c9

Browse files
committed
Auto merge of rust-lang#15866 - lnicola:include-check, r=Veykril
Improve check for include macro rust-lang/rust-analyzer#15819 (review)
2 parents 7cca4e5 + 9826717 commit 11a87c9

File tree

1 file changed

+6
-23
lines changed
  • crates/hir-expand/src

1 file changed

+6
-23
lines changed

crates/hir-expand/src/db.rs

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,11 @@ use syntax::{
1212
use triomphe::Arc;
1313

1414
use crate::{
15-
ast_id_map::AstIdMap,
16-
builtin_attr_macro::pseudo_derive_attr_expansion,
17-
builtin_fn_macro::EagerExpander,
18-
fixup,
19-
hygiene::HygieneFrame,
20-
name::{name, AsName},
21-
tt, AstId, BuiltinAttrExpander, BuiltinDeriveExpander, BuiltinFnLikeExpander, EagerCallInfo,
22-
ExpandError, ExpandResult, ExpandTo, HirFileId, HirFileIdRepr, MacroCallId, MacroCallKind,
23-
MacroCallLoc, MacroDefId, MacroDefKind, MacroFile, ProcMacroExpander,
15+
ast_id_map::AstIdMap, builtin_attr_macro::pseudo_derive_attr_expansion,
16+
builtin_fn_macro::EagerExpander, fixup, hygiene::HygieneFrame, tt, AstId, BuiltinAttrExpander,
17+
BuiltinDeriveExpander, BuiltinFnLikeExpander, EagerCallInfo, ExpandError, ExpandResult,
18+
ExpandTo, HirFileId, HirFileIdRepr, MacroCallId, MacroCallKind, MacroCallLoc, MacroDefId,
19+
MacroDefKind, MacroFile, ProcMacroExpander,
2420
};
2521

2622
/// Total limit on the number of tokens produced by any macro invocation.
@@ -619,20 +615,7 @@ fn macro_expand(db: &dyn ExpandDatabase, id: MacroCallId) -> ExpandResult<Arc<tt
619615
}
620616

621617
// Skip checking token tree limit for include! macro call
622-
let skip_check_tt_count = match loc.kind {
623-
MacroCallKind::FnLike { ast_id, expand_to: _ } => {
624-
if let Some(name_ref) =
625-
ast_id.to_node(db).path().and_then(|p| p.segment()).and_then(|s| s.name_ref())
626-
{
627-
name_ref.as_name() == name!(include)
628-
} else {
629-
false
630-
}
631-
}
632-
_ => false,
633-
};
634-
635-
if !skip_check_tt_count {
618+
if !loc.def.is_include() {
636619
// Set a hard limit for the expanded tt
637620
if let Err(value) = check_tt_count(&tt) {
638621
return value;

0 commit comments

Comments
 (0)