ICE in const fn evaluation - Disagreement between legacy and dataflow-based const validators when a const fn takes &mut self #66167
Labels
A-const-fn
Area: const fn foo(..) {..}. Pure functions which can be applied at compile time.
C-bug
Category: This is a bug.
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Error
Backtrace
Code
https://github.com/maps4print/azul/tree/rust-const-ice
Commit fschutt/azul@b38fb1b
Changed here: fschutt/azul@b38fb1b#diff-ce9aead5dc9a44d99879f251fc571013R897
Code: https://github.com/maps4print/azul/blob/b38fb1bc3476ee47d313e891642f7673092e080b/azul-core/dom.rs#L895
Reproducing the bug
Description
I was trying to turn a couple of functions that take a
&mut self
into const fns - which should technically work:As far as I can see, only the ordering of liveness-checking is wrong, the old liveness checker reports
["LiveDrop", "MutDeref"]
while the new liveness checker reports["MutDeref", "LiveDrop"]
. Should be an easy (?) bug to fix (famous last words).Rust version:
The text was updated successfully, but these errors were encountered: