diff options
| author | varkor <github@varkor.com> | 2019-02-07 15:00:14 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2019-02-07 15:03:20 +0100 |
| commit | 1b933a5ce911616a2bf64c54c34693387eedb7e1 (patch) | |
| tree | 7ac8c001ad7cec09fc58915bd327f74f40d31ddf | |
| parent | 4e0e1889990bdf1d6f10c9071144c44eebc80e97 (diff) | |
| download | rust-1b933a5ce911616a2bf64c54c34693387eedb7e1.tar.gz rust-1b933a5ce911616a2bf64c54c34693387eedb7e1.zip | |
Add a test forbidding the use of const parameters in inner items
| -rw-r--r-- | src/test/ui/const-generics/const-param-from-outer-fn.rs | 11 | ||||
| -rw-r--r-- | src/test/ui/const-generics/const-param-from-outer-fn.stderr | 26 |
2 files changed, 37 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/const-param-from-outer-fn.rs b/src/test/ui/const-generics/const-param-from-outer-fn.rs new file mode 100644 index 00000000000..5a8dd92086f --- /dev/null +++ b/src/test/ui/const-generics/const-param-from-outer-fn.rs @@ -0,0 +1,11 @@ +#![feature(const_generics)] +//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash + +fn foo<const X: u32>() { + //~^ ERROR const generics in any position are currently unsupported + fn bar() -> u32 { + X //~ ERROR can't use generic parameters from outer function + } +} + +fn main() {} diff --git a/src/test/ui/const-generics/const-param-from-outer-fn.stderr b/src/test/ui/const-generics/const-param-from-outer-fn.stderr new file mode 100644 index 00000000000..b238b3a2aa4 --- /dev/null +++ b/src/test/ui/const-generics/const-param-from-outer-fn.stderr @@ -0,0 +1,26 @@ +warning: the feature `const_generics` is incomplete and may cause the compiler to crash + --> $DIR/const-param-from-outer-fn.rs:1:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + +error[E0401]: can't use generic parameters from outer function + --> $DIR/const-param-from-outer-fn.rs:7:9 + | +LL | fn foo<const X: u32>() { + | - const variable from outer function +LL | //~^ ERROR const generics in any position are currently unsupported +LL | fn bar() -> u32 { + | --- try adding a local generic parameter in this method instead +LL | X //~ ERROR can't use generic parameters from outer function + | ^ use of generic parameter from outer function + +error: const generics in any position are currently unsupported + --> $DIR/const-param-from-outer-fn.rs:4:14 + | +LL | fn foo<const X: u32>() { + | ^ + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0401`. |
