Skip to content

Commit

Permalink
Add regression test for CONST_ERR lints in extern macros
Browse files Browse the repository at this point in the history
  • Loading branch information
memoryruins committed Oct 11, 2019
1 parent 05db5a2 commit 95a65cd
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/test/ui/consts/auxiliary/external_macro.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#![feature(allow_internal_unstable)]

// Macro to help ensure CONST_ERR lint errors
// are not silenced in external macros.
// https://github.com/rust-lang/rust/issues/65300

#[macro_export]
#[allow_internal_unstable(type_ascription)]
macro_rules! static_assert {
($test:expr) => {
#[allow(dead_code)]
const _: () = [()][!($test: bool) as usize];
}
}
13 changes: 13 additions & 0 deletions src/test/ui/consts/const-external-macro-const-err.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// edition:2018
// aux-build:external_macro.rs

// Ensure that CONST_ERR lint errors
// are not silenced in external macros.
// https://github.com/rust-lang/rust/issues/65300

extern crate external_macro;
use external_macro::static_assert;

fn main() {
static_assert!(2 + 2 == 5); //~ ERROR
}
11 changes: 11 additions & 0 deletions src/test/ui/consts/const-external-macro-const-err.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
error: any use of this value will cause an error
--> $DIR/const-external-macro-const-err.rs:12:5
|
LL | static_assert!(2 + 2 == 5);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ index out of bounds: the len is 1 but the index is 1
|
= note: `#[deny(const_err)]` on by default
= note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error: aborting due to previous error

0 comments on commit 95a65cd

Please sign in to comment.