diff options
| author | varkor <github@varkor.com> | 2019-05-10 20:53:46 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2019-05-10 20:53:46 +0100 |
| commit | 0f792abf00490066a8743e9b9686fecaad5dcac8 (patch) | |
| tree | 791e11caa44d6304b44b0d29dc24e79ca77d2a32 | |
| parent | 531080106235515c3a21e9771f39b8b2733a972b (diff) | |
| download | rust-0f792abf00490066a8743e9b9686fecaad5dcac8.tar.gz rust-0f792abf00490066a8743e9b9686fecaad5dcac8.zip | |
Add a test for failed inference of const types
| -rw-r--r-- | src/test/ui/const-generics/cannot-infer-type-for-const-param.rs | 11 | ||||
| -rw-r--r-- | src/test/ui/const-generics/cannot-infer-type-for-const-param.stderr | 15 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs b/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs new file mode 100644 index 00000000000..c3f5e360fe2 --- /dev/null +++ b/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs @@ -0,0 +1,11 @@ +#![feature(const_generics)] +//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash + +// We should probably be able to infer the types here. However, this test is checking that we don't +// get an ICE in this case. It may be modified later to not be an error. + +struct Foo<const NUM_BYTES: usize>(pub [u8; NUM_BYTES]); + +fn main() { + let _ = Foo::<3>([1, 2, 3]); //~ ERROR type annotations needed +} diff --git a/src/test/ui/const-generics/cannot-infer-type-for-const-param.stderr b/src/test/ui/const-generics/cannot-infer-type-for-const-param.stderr new file mode 100644 index 00000000000..a0641bd2fdc --- /dev/null +++ b/src/test/ui/const-generics/cannot-infer-type-for-const-param.stderr @@ -0,0 +1,15 @@ +warning: the feature `const_generics` is incomplete and may cause the compiler to crash + --> $DIR/cannot-infer-type-for-const-param.rs:1:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + +error[E0282]: type annotations needed + --> $DIR/cannot-infer-type-for-const-param.rs:10:19 + | +LL | let _ = Foo::<3>([1, 2, 3]); + | ^ cannot infer type for `{integer}` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0282`. |
