Rollup merge of #102566 - compiler-errors:test-102498, r=Mark-Simulacrum

Add a known-bug test for #102498

Self-explanatory
This commit is contained in:
Dylan DPC 2022-10-02 20:42:22 +05:30 committed by GitHub
commit 0b2596723b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,21 @@
// known-bug: #102498
#![feature(const_trait_impl, generic_const_exprs)]
pub trait Tr {
fn a() -> usize;
}
impl Tr for () {
fn a() -> usize {
1
}
}
const fn foo<T: ~const Tr>() -> [u8; T::a()] {
[0; T::a()]
}
fn main() {
foo::<()>();
}

View File

@ -0,0 +1,18 @@
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> $DIR/constifconst-call-in-const-position.rs:3:30
|
LL | #![feature(const_trait_impl, generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
error[E0080]: evaluation of `foo::<()>::{constant#0}` failed
--> $DIR/constifconst-call-in-const-position.rs:15:38
|
LL | const fn foo<T: ~const Tr>() -> [u8; T::a()] {
| ^^^^^^ calling non-const function `<() as Tr>::a`
error: aborting due to previous error; 1 warning emitted
For more information about this error, try `rustc --explain E0080`.