Fix the results of binds problem.

This commit is contained in:
2024-04-11 10:03:11 -07:00
parent 632770f4f4
commit f915db9337
2 changed files with 12 additions and 9 deletions

View File

@@ -129,15 +129,14 @@ proptest::proptest! {
let basic_result = basic_result.map(|x| x.replace('\n', "\r\n"));
if !matches!(basic_result, Err(EvalError::PrimOp(PrimOpError::MathFailure(_)))) {
// use pretty::{DocAllocator, Pretty};
// let allocator = pretty::BoxAllocator;
// allocator
// .text("---------------")
// .append(allocator.hardline())
// .append(program.pretty(&allocator))
// .1
// .render_colored(70, pretty::termcolor::StandardStream::stdout(pretty::termcolor::ColorChoice::Auto))
// .expect("rendering works");
//use pretty::DocAllocator;
//let allocator = pretty::Arena::new();
//let result = allocator.text("-------------")
// .append(allocator.line())
// .append(program.pretty(&allocator))
// .append(allocator.line());
//result.render_raw(70, &mut pretty::IoWrite::new(std::io::stdout()))
// .expect("rendering works");
let compiled_result = Backend::<ObjectModule>::eval(program);
proptest::prop_assert_eq!(basic_result, compiled_result);

View File

@@ -363,6 +363,10 @@ impl<M: Module> Backend<M> {
(types::I64, Type::Primitive(PrimitiveType::U64)) => Ok((val, val_type)),
(types::I64, Type::Primitive(PrimitiveType::Void)) => {
Ok((builder.ins().iconst(types::I64, 0), VOID_REPR_TYPE))
}
_ => Err(BackendError::InvalidTypeCast {
from: val_type,
to: target_type,