diff --git a/src/compiler/ast.rs b/src/compiler/ast.rs index 6af3a5b7..292cb898 100644 --- a/src/compiler/ast.rs +++ b/src/compiler/ast.rs @@ -378,7 +378,7 @@ fn traverse_node_lvalue(compiler: &mut Compiler, node: &Dict, store: bool, hold: "capture_index" => { let children = children.object::().unwrap(); - let index = traverse_node_value(compiler, children).value(); + let index = traverse_node_value(compiler, children).into_refvalue(); if store { if hold { @@ -866,7 +866,8 @@ fn traverse_node(compiler: &mut Compiler, node: &Dict) -> ImlOp { "capture_index" => { let children = node["children"].borrow(); - let index = traverse_node_value(compiler, children.object::().unwrap()).value(); + let index = + traverse_node_value(compiler, children.object::().unwrap()).into_refvalue(); ImlOp::from(Op::LoadFastCapture(index.to_usize().unwrap())) } diff --git a/src/compiler/iml/imlvalue.rs b/src/compiler/iml/imlvalue.rs index b4b596b0..361a58cf 100644 --- a/src/compiler/iml/imlvalue.rs +++ b/src/compiler/iml/imlvalue.rs @@ -21,7 +21,7 @@ pub(in crate::compiler) enum ImlValue { } impl ImlValue { - pub fn value(self) -> RefValue { + pub fn into_refvalue(self) -> RefValue { if let Self::Value(value) = self { value } else { diff --git a/src/compiler/linker.rs b/src/compiler/linker.rs index ace36454..08de8045 100644 --- a/src/compiler/linker.rs +++ b/src/compiler/linker.rs @@ -187,7 +187,7 @@ impl Linker { RefValue::from(parselet) } else { - iml.value() + iml.into_refvalue() } }) .collect();