g
Size: a a a
g
g
g
ʰ
ʰ
MT
MT
ʰ
error[E0621]: explicit lifetime required in the type of `env`
--> src/x86.rs:104:9
|
95 | fn compile_instr<'a>(instr: sm::Instr<'a>, env: &mut Environment<'a>) -> Result<Vec<Instr<'a>>, CompilationError<'a>> {
| -------------------- help: add explicit lifetime `'a` to the type of `env`: `&'a mut x86::Environment<'a>`
...
env
живет явно меньше чем 'a, но если я начинаю добавлять лайфтайм 'b который меньше чем 'a и давать его ссылке на env, то он начинает ругаться что данные из instr перетекают в envʰ
ʰ
ʰ
ʰ
ʰ
R
R
ʰ
let mut env = Environment::new();вот кусок кода
let mut program = Vec::new();
for instr in sm_code {
program.extend(compile_instr(instr, &mut env)?);
}
Ok((program, env))
ʰ
ʰ