diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index c4e196628915..feeac9d938b6 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -1211,7 +1211,6 @@ where .set(derive_registrar::find(&hir_map)); time(sess, "loop checking", || loops::check_crate(sess, &hir_map)); - sess.abort_if_errors(); let mut local_providers = ty::query::Providers::default(); default_provide(&mut local_providers); diff --git a/src/test/ui/issue-51714.rs b/src/test/ui/issue-51714.rs index f8d12b991eae..2b9d51f81b98 100644 --- a/src/test/ui/issue-51714.rs +++ b/src/test/ui/issue-51714.rs @@ -20,4 +20,5 @@ fn main() { [(); return while let Some(n) = Some(0) {}]; //~^ ERROR return statement outside of function body + //~^^ ERROR irrefutable while-let pattern } diff --git a/src/test/ui/issue-51714.stderr b/src/test/ui/issue-51714.stderr index c8764564dca3..ddc70bfb38e0 100644 --- a/src/test/ui/issue-51714.stderr +++ b/src/test/ui/issue-51714.stderr @@ -22,6 +22,13 @@ error[E0572]: return statement outside of function body LL | [(); return while let Some(n) = Some(0) {}]; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -error: aborting due to 4 previous errors +error[E0165]: irrefutable while-let pattern + --> $DIR/issue-51714.rs:21:27 + | +LL | [(); return while let Some(n) = Some(0) {}]; + | ^^^^^^^ irrefutable pattern -For more information about this error, try `rustc --explain E0572`. +error: aborting due to 5 previous errors + +Some errors occurred: E0165, E0572. +For more information about an error, try `rustc --explain E0165`.