This commit is contained in:
InfRandomness 2022-05-29 20:00:11 +00:00 committed by infrandomness
parent 39231b4b50
commit 0a7f19b547
2 changed files with 14 additions and 3 deletions

View File

@ -160,9 +160,13 @@ impl<'tcx> LateLintPass<'tcx> for Shadow {
fn is_shadow(cx: &LateContext<'_>, owner: LocalDefId, first: ItemLocalId, second: ItemLocalId) -> bool {
let scope_tree = cx.tcx.region_scope_tree(owner.to_def_id());
let first_scope = scope_tree.var_scope(first).unwrap();
let second_scope = scope_tree.var_scope(second).unwrap();
scope_tree.is_subscope_of(second_scope, first_scope)
if let Some(first_scope) = scope_tree.var_scope(first) {
if let Some(second_scope) = scope_tree.var_scope(second) {
return scope_tree.is_subscope_of(second_scope, first_scope);
}
}
false
}
fn lint_shadow(cx: &LateContext<'_>, pat: &Pat<'_>, shadowed: HirId, span: Span) {

View File

@ -88,4 +88,11 @@ pub async fn foo2(_a: i32, _b: i64) {
let _b = _a;
}
fn ice_8748() {
let _ = [0; {
let x = 1;
if let Some(x) = Some(1) { x } else { 1 }
}];
}
fn main() {}