We produce ill-typed Lean terms when passing arrays into (mut) slice arguments:
fn f(out: &mut [u8]) {
}
fn g(out: &mut [u8; 200]) {
f(out);
}
Open this code snippet in the playground
@[spec]
def f (out : (RustSlice u8)) : RustM (RustSlice u8) := do (pure out)
@[spec]
def g (out : (RustArray u8 200)) : RustM (RustArray u8 200) := do
let out : (RustArray u8 200) ← (f out);
(pure out)
We produce ill-typed Lean terms when passing arrays into (mut) slice arguments:
Open this code snippet in the playground