All HIR attributes are outer
This commit is contained in:
@@ -855,14 +855,15 @@ impl<'tcx> LateContext<'tcx> {
|
||||
/// rendering diagnostic. This is not the same as the precedence that would
|
||||
/// be used for pretty-printing HIR by rustc_hir_pretty.
|
||||
pub fn precedence(&self, expr: &hir::Expr<'_>) -> ExprPrecedence {
|
||||
let for_each_attr = |id: hir::HirId, callback: &mut dyn FnMut(&hir::Attribute)| {
|
||||
let has_attr = |id: hir::HirId| -> bool {
|
||||
for attr in self.tcx.hir_attrs(id) {
|
||||
if attr.span().desugaring_kind().is_none() {
|
||||
callback(attr);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
false
|
||||
};
|
||||
expr.precedence(&for_each_attr)
|
||||
expr.precedence(&has_attr)
|
||||
}
|
||||
|
||||
/// If the given expression is a local binding, find the initializer expression.
|
||||
|
||||
Reference in New Issue
Block a user