]> git.lizzy.rs Git - rust.git/commitdiff
Do not lint on SizeOverflow, always error
authorEsteban Küber <esteban@kuber.com.ar>
Wed, 31 Jul 2019 21:10:33 +0000 (14:10 -0700)
committerEsteban Küber <esteban@kuber.com.ar>
Fri, 2 Aug 2019 19:31:31 +0000 (12:31 -0700)
src/librustc/mir/interpret/error.rs
src/test/ui/consts/issue-55878.stderr

index 7c1941196390a46f402a752749393860303dab03..acdabd1e53d632f714495f4c249a0e03a8ee8384 100644 (file)
@@ -137,16 +137,18 @@ fn struct_generic(
         message: &str,
         lint_root: Option<hir::HirId>,
     ) -> Result<DiagnosticBuilder<'tcx>, ErrorHandled> {
+        let mut must_error = false;
         match self.error {
             err_inval!(Layout(LayoutError::Unknown(_))) |
             err_inval!(TooGeneric) =>
                 return Err(ErrorHandled::TooGeneric),
             err_inval!(TypeckError) =>
                 return Err(ErrorHandled::Reported),
+            err_inval!(LayoutError::SizeOverflow(_)) => must_error = true,
             _ => {},
         }
         trace!("reporting const eval failure at {:?}", self.span);
-        let mut err = if let Some(lint_root) = lint_root {
+        let mut err = if let (Some(lint_root), false) = (lint_root, must_error) {
             let hir_id = self.stacktrace
                 .iter()
                 .rev()
index 03537ff20bf5e1397142c70c80efb06caa1d86f4..7ca7024912fbbff205857b54855ba2ac52e3fac2 100644 (file)
@@ -1,4 +1,4 @@
-error: reaching this expression at runtime will panic or abort
+error[E0080]: reaching this expression at runtime will panic or abort
   --> $SRC_DIR/libcore/mem/mod.rs:LL:COL
    |
 LL |     intrinsics::size_of::<T>()
@@ -8,8 +8,7 @@ LL |     intrinsics::size_of::<T>()
    |
 LL |     println!("Size: {}", std::mem::size_of::<[u8; std::u64::MAX as usize]>());
    |                          ---------------------------------------------------
-   |
-   = note: `#[deny(const_err)]` on by default
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0080`.