diff --git a/examples/hello_world_harder.reid b/examples/hello_world_harder.reid index bb2802d..0132072 100644 --- a/examples/hello_world_harder.reid +++ b/examples/hello_world_harder.reid @@ -6,7 +6,7 @@ fn main() { test.push(String::from(" world: ")); - test.push_num("hello"); + test.push_num(175); print(test); diff --git a/reid/src/codegen/intrinsics.rs b/reid/src/codegen/intrinsics.rs index 66ce541..75ad663 100644 --- a/reid/src/codegen/intrinsics.rs +++ b/reid/src/codegen/intrinsics.rs @@ -1,4 +1,4 @@ -use reid_lib::{builder::InstructionValue, CmpPredicate, ConstValue, Instr}; +use reid_lib::{builder::InstructionValue, CmpPredicate, ConstValue, Instr, Type}; use crate::{ codegen::{ErrorKind, StackValueKind}, @@ -284,9 +284,15 @@ impl IntrinsicFunction for IntrinsicNullPtr { let zero = scope.block.build(Instr::Constant(ConstValue::I8(0))).unwrap(); let instr = scope .block - .build(Instr::IntToPtr(zero, self.0.get_type(scope.type_values))) + .build(Instr::IntToPtr( + zero, + Type::Ptr(Box::new(self.0.get_type(scope.type_values))), + )) .unwrap(); - Ok(StackValue(StackValueKind::Literal(instr), self.0.clone())) + Ok(StackValue( + StackValueKind::Literal(instr), + TypeKind::UserPtr(Box::new(self.0.clone())), + )) } }