mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-24 15:54:15 +00:00
Don't allow adjustments for manual_map
This commit is contained in:
parent
b1c675f3fc
commit
779d98f6cc
@ -104,12 +104,18 @@ impl LateLintPass<'_> for ManualMap {
|
|||||||
None => return,
|
None => return,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// These two lints will go back and forth with each other.
|
||||||
if cx.typeck_results().expr_ty(some_expr) == cx.tcx.types.unit
|
if cx.typeck_results().expr_ty(some_expr) == cx.tcx.types.unit
|
||||||
&& !is_allowed(cx, OPTION_MAP_UNIT_FN, expr.hir_id)
|
&& !is_allowed(cx, OPTION_MAP_UNIT_FN, expr.hir_id)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// `map` won't perform any adjustments.
|
||||||
|
if !cx.typeck_results().expr_adjustments(some_expr).is_empty() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if !can_move_expr_to_closure(cx, some_expr) {
|
if !can_move_expr_to_closure(cx, some_expr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -146,4 +146,11 @@ fn main() {
|
|||||||
None => None,
|
None => None,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #7077
|
||||||
|
let s = &String::new();
|
||||||
|
let _: Option<&str> = match Some(s) {
|
||||||
|
Some(s) => Some(s),
|
||||||
|
None => None,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -212,4 +212,11 @@ fn main() {
|
|||||||
None => None,
|
None => None,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// #7077
|
||||||
|
let s = &String::new();
|
||||||
|
let _: Option<&str> = match Some(s) {
|
||||||
|
Some(s) => Some(s),
|
||||||
|
None => None,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user