diff options
| author | Bastian Kauschke <bastian_kauschke@hotmail.de> | 2020-03-22 11:34:42 +0100 |
|---|---|---|
| committer | Bastian Kauschke <bastian_kauschke@hotmail.de> | 2020-03-22 11:34:42 +0100 |
| commit | 0c5c3bbdabc60bd7dd7491dfcf6befb8202d7521 (patch) | |
| tree | 4f0c332f5c6b9d9668d791d6f129636c8c59e77f /src/test | |
| parent | 98803c182b2ba6ef5dccb6bf501958249295eac0 (diff) | |
| download | rust-0c5c3bbdabc60bd7dd7491dfcf6befb8202d7521.tar.gz rust-0c5c3bbdabc60bd7dd7491dfcf6befb8202d7521.zip | |
handle unevaluated consts after monomophize
Diffstat (limited to 'src/test')
4 files changed, 51 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issues/issue-70125.rs b/src/test/ui/const-generics/issues/issue-70125.rs new file mode 100644 index 00000000000..8b933c078ff --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-70125.rs @@ -0,0 +1,19 @@ +// run-pass +#![feature(const_generics)] +//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash + +const L: usize = 4; + +pub trait Print<const N: usize> { + fn print(&self) -> usize { + N + } +} + +pub struct Printer; +impl Print<L> for Printer {} + +fn main() { + let p = Printer; + assert_eq!(p.print(), 4); +} diff --git a/src/test/ui/const-generics/issues/issue-70125.stderr b/src/test/ui/const-generics/issues/issue-70125.stderr new file mode 100644 index 00000000000..878ed7628e8 --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-70125.stderr @@ -0,0 +1,8 @@ +warning: the feature `const_generics` is incomplete and may cause the compiler to crash + --> $DIR/issue-70125.rs:2:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + | + = note: `#[warn(incomplete_features)]` on by default + diff --git a/src/test/ui/const-generics/normalization_failure.rs b/src/test/ui/const-generics/normalization_failure.rs new file mode 100644 index 00000000000..ea7a68c2f93 --- /dev/null +++ b/src/test/ui/const-generics/normalization_failure.rs @@ -0,0 +1,16 @@ +// run-pass + +#![feature(const_generics)] +//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash + +fn main() { + <()>::foo(); +} + +trait Foo<const X: usize> { + fn foo() -> usize { + X + } +} + +impl Foo<{3}> for () {} diff --git a/src/test/ui/const-generics/normalization_failure.stderr b/src/test/ui/const-generics/normalization_failure.stderr new file mode 100644 index 00000000000..d5ad39e81ba --- /dev/null +++ b/src/test/ui/const-generics/normalization_failure.stderr @@ -0,0 +1,8 @@ +warning: the feature `const_generics` is incomplete and may cause the compiler to crash + --> $DIR/normalization_failure.rs:3:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + | + = note: `#[warn(incomplete_features)]` on by default + |
