diff options
| -rw-r--r-- | src/test/ui/feature-gate-inline_const.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/feature-gate-inline_const.stderr | 8 | ||||
| -rw-r--r-- | src/test/ui/inline-const/const-expr-array-init.rs | 9 | ||||
| -rw-r--r-- | src/test/ui/inline-const/const-expr-basic.rs (renamed from src/test/ui/parser/inline_const/const_expr_parses.rs) | 7 | ||||
| -rw-r--r-- | src/test/ui/inline-const/const-expr-reference.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/inline-const/const-match-pat.rs | 20 | ||||
| -rw-r--r-- | src/test/ui/parser/inline_const/const_match_pat_parses.rs | 20 |
7 files changed, 55 insertions, 25 deletions
diff --git a/src/test/ui/feature-gate-inline_const.rs b/src/test/ui/feature-gate-inline_const.rs index 76762489f3a..43ff90d234c 100644 --- a/src/test/ui/feature-gate-inline_const.rs +++ b/src/test/ui/feature-gate-inline_const.rs @@ -1,6 +1,6 @@ fn main() { let _ = const { - //~^ ERROR expected expression, found keyword `const` + //~^ ERROR inline-const is experimental [E0658] true }; } diff --git a/src/test/ui/feature-gate-inline_const.stderr b/src/test/ui/feature-gate-inline_const.stderr index b9498e22585..be2f567155c 100644 --- a/src/test/ui/feature-gate-inline_const.stderr +++ b/src/test/ui/feature-gate-inline_const.stderr @@ -1,8 +1,12 @@ -error: expected expression, found keyword `const` +error[E0658]: inline-const is experimental --> $DIR/feature-gate-inline_const.rs:2:13 | LL | let _ = const { - | ^^^^^ expected expression + | ^^^^^ + | + = note: see issue #76001 <https://github.com/rust-lang/rust/issues/76001> for more information + = help: add `#![feature(inline_const)]` to the crate attributes to enable error: aborting due to previous error +For more information about this error, try `rustc --explain E0658`. diff --git a/src/test/ui/inline-const/const-expr-array-init.rs b/src/test/ui/inline-const/const-expr-array-init.rs new file mode 100644 index 00000000000..8a92cdbc0f9 --- /dev/null +++ b/src/test/ui/inline-const/const-expr-array-init.rs @@ -0,0 +1,9 @@ +// build-pass + +#![feature(inline_const)] + +use std::cell::Cell; + +fn main() { + let _x = [const { Cell::new(0) }; 20]; +} diff --git a/src/test/ui/parser/inline_const/const_expr_parses.rs b/src/test/ui/inline-const/const-expr-basic.rs index 5319db3482d..9349cee62d6 100644 --- a/src/test/ui/parser/inline_const/const_expr_parses.rs +++ b/src/test/ui/inline-const/const-expr-basic.rs @@ -1,5 +1,4 @@ -// check-pass -// compile-flags: -Z parse-only +// run-pass #![feature(inline_const)] fn foo() -> i32 { @@ -8,3 +7,7 @@ fn foo() -> i32 { x / 3 } } + +fn main() { + assert_eq!(5, foo()); +} diff --git a/src/test/ui/inline-const/const-expr-reference.rs b/src/test/ui/inline-const/const-expr-reference.rs new file mode 100644 index 00000000000..a54d879f69d --- /dev/null +++ b/src/test/ui/inline-const/const-expr-reference.rs @@ -0,0 +1,14 @@ +// run-pass + +#![feature(inline_const)] + +const fn bar() -> i32 { + const { + 2 + 3 + } +} + +fn main() { + let x: &'static i32 = &const{bar()}; + assert_eq!(&5, x); +} diff --git a/src/test/ui/inline-const/const-match-pat.rs b/src/test/ui/inline-const/const-match-pat.rs new file mode 100644 index 00000000000..d4761398d73 --- /dev/null +++ b/src/test/ui/inline-const/const-match-pat.rs @@ -0,0 +1,20 @@ +// run-pass + +#![feature(inline_const)] +const MMIO_BIT1: u8 = 4; +const MMIO_BIT2: u8 = 5; + +fn main() { + let s = match read_mmio() { + 0 => "FOO", + const { 1 << MMIO_BIT1 } => "BAR", + const { 1 << MMIO_BIT2 } => "BAZ", + _ => unreachable!(), + }; + + assert_eq!("BAZ", s); +} + +fn read_mmio() -> i32 { + 1 << 5 +} diff --git a/src/test/ui/parser/inline_const/const_match_pat_parses.rs b/src/test/ui/parser/inline_const/const_match_pat_parses.rs deleted file mode 100644 index 97b05b0a1f2..00000000000 --- a/src/test/ui/parser/inline_const/const_match_pat_parses.rs +++ /dev/null @@ -1,20 +0,0 @@ -// check-pass -// compile-flags: -Z parse-only - -#![feature(inline_const)] -const MMIO_BIT1: u8 = 4; -const MMIO_BIT2: u8 = 5; - -fn main() { - match read_mmio() { - 0 => {} - const { 1 << MMIO_BIT1 } => println!("FOO"), - const { 1 << MMIO_BIT2 } => println!("BAR"), - - _ => unreachable!(), - } -} - -fn read_mmio() -> u8 { - 1 << 5 -} |
