Skip to content

Commit

Permalink
Rollup merge of #70939 - varkor:const-generics-regression-tests, r=Ce…
Browse files Browse the repository at this point in the history
…ntril

Add two const generics regression tests

Closes #66596.
Closes #61522.
  • Loading branch information
Centril committed Apr 9, 2020
2 parents cb68d6e + 0f02522 commit 7944f39
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/test/ui/const-generics/issue-61522-array-len-succ.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#![feature(const_generics)]
//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash

pub struct MyArray<const COUNT: usize>([u8; COUNT + 1]);
//~^ ERROR constant expression depends on a generic parameter

impl<const COUNT: usize> MyArray<COUNT> {
fn inner(&self) -> &[u8; COUNT + 1] {
//~^ ERROR constant expression depends on a generic parameter
&self.0
}
}

fn main() {}
26 changes: 26 additions & 0 deletions src/test/ui/const-generics/issue-61522-array-len-succ.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
warning: the feature `const_generics` is incomplete and may cause the compiler to crash
--> $DIR/issue-61522-array-len-succ.rs:1:12
|
LL | #![feature(const_generics)]
| ^^^^^^^^^^^^^^
|
= note: `#[warn(incomplete_features)]` on by default

error: constant expression depends on a generic parameter
--> $DIR/issue-61522-array-len-succ.rs:4:40
|
LL | pub struct MyArray<const COUNT: usize>([u8; COUNT + 1]);
| ^^^^^^^^^^^^^^^
|
= note: this may fail depending on what value the parameter takes

error: constant expression depends on a generic parameter
--> $DIR/issue-61522-array-len-succ.rs:8:24
|
LL | fn inner(&self) -> &[u8; COUNT + 1] {
| ^^^^^^^^^^^^^^^^
|
= note: this may fail depending on what value the parameter takes

error: aborting due to 2 previous errors

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// check-pass

#![feature(const_generics)]
//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash

trait Trait<const NAME: &'static str> {
type Assoc;
}

impl Trait<"0"> for () {
type Assoc = ();
}

fn main() {
let _: <() as Trait<"0">>::Assoc = ();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
warning: the feature `const_generics` is incomplete and may cause the compiler to crash
--> $DIR/issue-66596-impl-trait-for-str-const-arg.rs:3:12
|
LL | #![feature(const_generics)]
| ^^^^^^^^^^^^^^
|
= note: `#[warn(incomplete_features)]` on by default

0 comments on commit 7944f39

Please sign in to comment.