From f915db9337acad8d5ad5d82cc13ba0f03213b341 Mon Sep 17 00:00:00 2001 From: Adam Wick Date: Thu, 11 Apr 2024 10:03:11 -0700 Subject: [PATCH] Fix the results of binds problem. --- src/backend/eval.rs | 17 ++++++++--------- src/backend/into_crane.rs | 4 ++++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/backend/eval.rs b/src/backend/eval.rs index f1c3810..82242bc 100644 --- a/src/backend/eval.rs +++ b/src/backend/eval.rs @@ -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::::eval(program); proptest::prop_assert_eq!(basic_result, compiled_result); diff --git a/src/backend/into_crane.rs b/src/backend/into_crane.rs index 8ab635c..724153a 100644 --- a/src/backend/into_crane.rs +++ b/src/backend/into_crane.rs @@ -363,6 +363,10 @@ impl Backend { (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,