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,