Ensure stack when parsing large if expressions
This commit is contained in:
parent
304aca409d
commit
0e2ec8ca83
1 changed files with 2 additions and 1 deletions
|
@ -17,6 +17,7 @@ use rustc_ast::visit::{self, AssocCtxt, Visitor};
|
||||||
use rustc_ast_pretty::pprust;
|
use rustc_ast_pretty::pprust;
|
||||||
use rustc_attr::{self as attr, is_builtin_attr, HasAttrs};
|
use rustc_attr::{self as attr, is_builtin_attr, HasAttrs};
|
||||||
use rustc_data_structures::map_in_place::MapInPlace;
|
use rustc_data_structures::map_in_place::MapInPlace;
|
||||||
|
use rustc_data_structures::stack::ensure_sufficient_stack;
|
||||||
use rustc_errors::{Applicability, PResult};
|
use rustc_errors::{Applicability, PResult};
|
||||||
use rustc_feature::Features;
|
use rustc_feature::Features;
|
||||||
use rustc_parse::parser::Parser;
|
use rustc_parse::parser::Parser;
|
||||||
|
@ -1165,7 +1166,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
|
||||||
self.check_attributes(&expr.attrs);
|
self.check_attributes(&expr.attrs);
|
||||||
self.collect_bang(mac, expr.span, AstFragmentKind::Expr).make_expr().into_inner()
|
self.collect_bang(mac, expr.span, AstFragmentKind::Expr).make_expr().into_inner()
|
||||||
} else {
|
} else {
|
||||||
noop_visit_expr(&mut expr, self);
|
ensure_sufficient_stack(|| noop_visit_expr(&mut expr, self));
|
||||||
expr
|
expr
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue