diff options
| author | Michael Goulet <michael@errs.io> | 2022-10-02 06:05:45 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2022-10-02 06:05:58 +0000 |
| commit | e2c5247701da4ec3bc476e61d8dba7cdb7865a37 (patch) | |
| tree | 7000d1d7f2b8dbb028bb9ff37705b822c31e5d15 /src | |
| parent | edadc7ccdda644ef8149869d2f24018a1dac202a (diff) | |
| download | rust-e2c5247701da4ec3bc476e61d8dba7cdb7865a37.tar.gz rust-e2c5247701da4ec3bc476e61d8dba7cdb7865a37.zip | |
Add a known-bug test for #102498
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/consts/constifconst-call-in-const-position.rs | 21 | ||||
| -rw-r--r-- | src/test/ui/consts/constifconst-call-in-const-position.stderr | 18 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/test/ui/consts/constifconst-call-in-const-position.rs b/src/test/ui/consts/constifconst-call-in-const-position.rs new file mode 100644 index 00000000000..bf67e5a3f76 --- /dev/null +++ b/src/test/ui/consts/constifconst-call-in-const-position.rs @@ -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::<()>(); +} diff --git a/src/test/ui/consts/constifconst-call-in-const-position.stderr b/src/test/ui/consts/constifconst-call-in-const-position.stderr new file mode 100644 index 00000000000..e3f67b44678 --- /dev/null +++ b/src/test/ui/consts/constifconst-call-in-const-position.stderr @@ -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`. |
