Rollup merge of #70939 - varkor:const-generics-regression-tests, r=Centril
Add two const generics regression tests Closes https://github.com/rust-lang/rust/issues/66596. Closes https://github.com/rust-lang/rust/issues/61522.
This commit is contained in:
commit
7944f39b5f
14
src/test/ui/const-generics/issue-61522-array-len-succ.rs
Normal file
14
src/test/ui/const-generics/issue-61522-array-len-succ.rs
Normal file
@ -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
src/test/ui/const-generics/issue-61522-array-len-succ.stderr
Normal file
26
src/test/ui/const-generics/issue-61522-array-len-succ.stderr
Normal file
@ -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
|
||||||
|
|
@ -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 = ();
|
||||||
|
}
|
@ -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
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user