Fix ICE in missing_const_for_fn
The `mir_drops_elaborated_and_const_checked` query result has been stolen already and cannot be borrowed again. Use the `optimized_mir` query result instead.
This commit is contained in:
parent
f60807dfee
commit
9ed53b85b7
4 changed files with 45 additions and 2 deletions
13
tests/ui/crashes/missing_const_for_fn_14774.fixed
Normal file
13
tests/ui/crashes/missing_const_for_fn_14774.fixed
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
//@compile-flags: -Z validate-mir
|
||||
#![warn(clippy::missing_const_for_fn)]
|
||||
|
||||
static BLOCK_FN_DEF: fn(usize) -> usize = {
|
||||
//~v missing_const_for_fn
|
||||
const fn foo(a: usize) -> usize {
|
||||
a + 10
|
||||
}
|
||||
foo
|
||||
};
|
||||
struct X;
|
||||
|
||||
fn main() {}
|
||||
13
tests/ui/crashes/missing_const_for_fn_14774.rs
Normal file
13
tests/ui/crashes/missing_const_for_fn_14774.rs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
//@compile-flags: -Z validate-mir
|
||||
#![warn(clippy::missing_const_for_fn)]
|
||||
|
||||
static BLOCK_FN_DEF: fn(usize) -> usize = {
|
||||
//~v missing_const_for_fn
|
||||
fn foo(a: usize) -> usize {
|
||||
a + 10
|
||||
}
|
||||
foo
|
||||
};
|
||||
struct X;
|
||||
|
||||
fn main() {}
|
||||
17
tests/ui/crashes/missing_const_for_fn_14774.stderr
Normal file
17
tests/ui/crashes/missing_const_for_fn_14774.stderr
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
error: this could be a `const fn`
|
||||
--> tests/ui/crashes/missing_const_for_fn_14774.rs:6:5
|
||||
|
|
||||
LL | / fn foo(a: usize) -> usize {
|
||||
LL | | a + 10
|
||||
LL | | }
|
||||
| |_____^
|
||||
|
|
||||
= note: `-D clippy::missing-const-for-fn` implied by `-D warnings`
|
||||
= help: to override `-D warnings` add `#[allow(clippy::missing_const_for_fn)]`
|
||||
help: make the function `const`
|
||||
|
|
||||
LL | const fn foo(a: usize) -> usize {
|
||||
| +++++
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue