X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Ftools%2Fclippy%2Fclippy_utils%2Fsrc%2Fvisitors.rs;h=14c01a60b4c32b775e7aa5cce1ce9a242b363fd7;hb=6d46b1ec8769fbbb3ac2a2cb12f0cad527135413;hp=863fb60fcfca1fb09aee2de418dcd9c0743d7855;hpb=b29a4f9bac50d1b1e24b90cc6de28af366825763;p=rust.git diff --git a/src/tools/clippy/clippy_utils/src/visitors.rs b/src/tools/clippy/clippy_utils/src/visitors.rs index 863fb60fcfc..14c01a60b4c 100644 --- a/src/tools/clippy/clippy_utils/src/visitors.rs +++ b/src/tools/clippy/clippy_utils/src/visitors.rs @@ -724,3 +724,14 @@ fn visit_expr(&mut self, e: &'tcx Expr<'tcx>) { ControlFlow::Continue(()) } } + +pub fn contains_break_or_continue(expr: &Expr<'_>) -> bool { + for_each_expr(expr, |e| { + if matches!(e.kind, ExprKind::Break(..) | ExprKind::Continue(..)) { + ControlFlow::Break(()) + } else { + ControlFlow::Continue(()) + } + }) + .is_some() +}