diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-03-13 09:03:58 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-03-13 16:06:08 +0900 |
| commit | a2c41e9cdc5b92535326d764b94536f00e5eb3bd (patch) | |
| tree | 89cb7d43432664543e84b3bc6cdb5f1c0b8faaf4 /src/test/ui/const-generics | |
| parent | 0efc2cf5472cd884df68918daf4f9861c1b808b1 (diff) | |
| download | rust-a2c41e9cdc5b92535326d764b94536f00e5eb3bd.tar.gz rust-a2c41e9cdc5b92535326d764b94536f00e5eb3bd.zip | |
Add test for issue-62504
Diffstat (limited to 'src/test/ui/const-generics')
| -rw-r--r-- | src/test/ui/const-generics/issues/issue-62504.rs | 25 | ||||
| -rw-r--r-- | src/test/ui/const-generics/issues/issue-62504.stderr | 8 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issues/issue-62504.rs b/src/test/ui/const-generics/issues/issue-62504.rs new file mode 100644 index 00000000000..74ed3d354fc --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-62504.rs @@ -0,0 +1,25 @@ +// Regression test for #62504 + +#![feature(const_generics)] +#![allow(incomplete_features)] + +trait HasSize { + const SIZE: usize; +} + +impl<const X: usize> HasSize for ArrayHolder<{ X }> { + const SIZE: usize = X; +} + +struct ArrayHolder<const X: usize>([u32; X]); + +impl<const X: usize> ArrayHolder<{ X }> { + pub const fn new() -> Self { + ArrayHolder([0; Self::SIZE]) + //~^ ERROR: array lengths can't depend on generic parameters + } +} + +fn main() { + let mut array = ArrayHolder::new(); +} diff --git a/src/test/ui/const-generics/issues/issue-62504.stderr b/src/test/ui/const-generics/issues/issue-62504.stderr new file mode 100644 index 00000000000..c2a752ec171 --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-62504.stderr @@ -0,0 +1,8 @@ +error: array lengths can't depend on generic parameters + --> $DIR/issue-62504.rs:18:25 + | +LL | ArrayHolder([0; Self::SIZE]) + | ^^^^^^^^^^ + +error: aborting due to previous error + |
