From 448e6f93d4ac6ae4b592d2dc8c3f98230f196e6a Mon Sep 17 00:00:00 2001
From: Ben Bridle <ben@derelict.engineering>
Date: Tue, 25 Mar 2025 11:03:03 +1300
Subject: Fix label definition issue

Label definitions were being gathered in the bytecode stage, but then
were incorrectly dropped instead of being used.
---
 src/stages/bytecode.rs | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/stages/bytecode.rs b/src/stages/bytecode.rs
index db6ff6d..4b50327 100644
--- a/src/stages/bytecode.rs
+++ b/src/stages/bytecode.rs
@@ -38,12 +38,14 @@ impl<'a> BytecodeGenerator<'a> {
         let mut labels = HashMap::new();
         for (name, definition) in definitions {
             if let DefinitionKind::LabelDefinition = definition.kind {
-                labels.insert(name, LabelInformation { address: 0, slots: Vec::new() });
+                let key = name.to_string();
+                let value = LabelInformation { address: 0, slots: Vec::new() };
+                labels.insert(key, value);
             }
         }
         Self {
             definitions,
-            labels: HashMap::new(),
+            labels,
             stack: Vec::new(),
             bytecode: Vec::new(),
         }
-- 
cgit v1.2.3-70-g09d2