Rollup merge of #95593 - notriddle:notriddle/size-of-in-const-context, r=compiler-errors

diagnostics: add test case for bogus T:Sized suggestion

Closes #69228
This commit is contained in:
Dylan DPC 2022-04-02 22:38:21 +02:00 committed by GitHub
commit 348e77cd87
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 0 deletions

View file

@ -0,0 +1,13 @@
// https://github.com/rust-lang/rust/issues/69228
// Used to give bogus suggestion about T not being Sized.
use std::mem::size_of;
fn foo<T>() {
let _arr: [u8; size_of::<T>()];
//~^ ERROR generic parameters may not be used in const operations
//~| NOTE cannot perform const operation
//~| NOTE type parameters may not be used in const expressions
}
fn main() {}

View file

@ -0,0 +1,11 @@
error: generic parameters may not be used in const operations
--> $DIR/size-of-t.rs:7:30
|
LL | let _arr: [u8; size_of::<T>()];
| ^ cannot perform const operation using `T`
|
= note: type parameters may not be used in const expressions
= help: use `#![feature(generic_const_exprs)]` to allow generic const expressions
error: aborting due to previous error