Add current fixed tests and start working on codegen fix
This commit is contained in:
parent
f0f1296906
commit
b5ac5bc949
|
@ -1843,13 +1843,20 @@ impl<'a> CodeGenerator<'a> {
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
AirTree::clause(
|
AirTree::anon_func(
|
||||||
format!("__subject_span_{}_{}", location.start, location.end),
|
vec![],
|
||||||
AirTree::int(index),
|
AirTree::assert_constr_index(
|
||||||
|
index,
|
||||||
|
AirTree::local_var(
|
||||||
|
format!(
|
||||||
|
"__subject_span_{}_{}",
|
||||||
|
location.start, location.end
|
||||||
|
),
|
||||||
tipo.clone(),
|
tipo.clone(),
|
||||||
|
),
|
||||||
then,
|
then,
|
||||||
acc,
|
acc,
|
||||||
false,
|
),
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
@ -4079,15 +4079,15 @@ fn generic_validator_type_test() {
|
||||||
let void_check = Term::equals_integer()
|
let void_check = Term::equals_integer()
|
||||||
.apply(Term::integer(0.into()))
|
.apply(Term::integer(0.into()))
|
||||||
.apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::var("__val"))))
|
.apply(Term::fst_pair().apply(Term::unconstr_data().apply(Term::var("__val"))))
|
||||||
.delayed_if_then_else(
|
.if_then_else(
|
||||||
Term::snd_pair()
|
Term::snd_pair()
|
||||||
.apply(Term::unconstr_data().apply(Term::var("__val")))
|
.apply(Term::unconstr_data().apply(Term::var("__val")))
|
||||||
.delayed_choose_list(
|
.choose_list(Term::unit().delay(), Term::var("param_msg"))
|
||||||
Term::unit(),
|
.force()
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
.delay(),
|
||||||
),
|
Term::var("param_msg"),
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
)
|
||||||
);
|
.force();
|
||||||
|
|
||||||
assert_uplc(
|
assert_uplc(
|
||||||
src,
|
src,
|
||||||
|
@ -4135,57 +4135,53 @@ fn generic_validator_type_test() {
|
||||||
.delayed_if_then_else(
|
.delayed_if_then_else(
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(Term::var("param_0"))
|
.apply(Term::var("param_0"))
|
||||||
.delayed_choose_list(
|
.choose_list(Term::unit().delay(), Term::var("param_msg"))
|
||||||
Term::unit(),
|
.force(),
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
|
||||||
),
|
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::integer(1.into()))
|
.apply(Term::integer(1.into()))
|
||||||
.apply(Term::var("subject"))
|
.apply(Term::var("subject"))
|
||||||
.delayed_if_then_else(
|
.if_then_else(
|
||||||
Term::var("r_fields")
|
Term::var("r_fields")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
Term::var("param_msg"),
|
||||||
Term::var("tail_1")
|
Term::var("tail_1")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error
|
Term::var("param_msg"),
|
||||||
.delayed_trace(Term::var("param_msg")),
|
|
||||||
Term::tail_list()
|
Term::tail_list()
|
||||||
.apply(Term::var("tail_1"))
|
.apply(Term::var("tail_1"))
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::unit().lambda("_").apply(
|
Term::unit()
|
||||||
|
.lambda("_")
|
||||||
|
.apply(
|
||||||
Term::var("__expect_B")
|
Term::var("__expect_B")
|
||||||
.apply(Term::var("field_B"))
|
.apply(Term::var(
|
||||||
|
"field_B",
|
||||||
|
))
|
||||||
.apply(Term::var(
|
.apply(Term::var(
|
||||||
"param_msg",
|
"param_msg",
|
||||||
)),
|
)),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.delay(),
|
||||||
|
Term::var("param_msg"),
|
||||||
|
)
|
||||||
|
.force()
|
||||||
.lambda("field_B")
|
.lambda("field_B")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::var("__val"),
|
Term::var("__val").delay(),
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(field_b),
|
.apply(field_b),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.force()
|
||||||
.lambda("tail_1")
|
.lambda("tail_1")
|
||||||
.apply(
|
.apply(
|
||||||
Term::tail_list()
|
Term::tail_list()
|
||||||
|
@ -4194,35 +4190,32 @@ fn generic_validator_type_test() {
|
||||||
.lambda("field_0")
|
.lambda("field_0")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
void_check.clone(),
|
void_check.clone().delay(),
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(
|
|
||||||
Term::var("param_msg"),
|
Term::var("param_msg"),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(
|
.apply(
|
||||||
Term::head_list()
|
Term::head_list()
|
||||||
.apply(Term::var("r_fields")),
|
.apply(Term::var("r_fields")),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.force()
|
||||||
.lambda("r_fields")
|
.lambda("r_fields")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(Term::var("param_0")),
|
.apply(Term::var("param_0")),
|
||||||
),
|
)
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
.delay(),
|
||||||
),
|
Term::var("param_msg"),
|
||||||
|
)
|
||||||
|
.force(),
|
||||||
)
|
)
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("param_0")))
|
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("param_0")))
|
||||||
|
@ -4234,44 +4227,46 @@ fn generic_validator_type_test() {
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::integer(0.into()))
|
.apply(Term::integer(0.into()))
|
||||||
.apply(Term::var("subject"))
|
.apply(Term::var("subject"))
|
||||||
.delayed_if_then_else(
|
.if_then_else(
|
||||||
Term::var("B_fields")
|
Term::var("B_fields")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
Term::var("param_msg"),
|
||||||
Term::tail_list()
|
Term::tail_list()
|
||||||
.apply(Term::var("B_fields"))
|
.apply(Term::var("B_fields"))
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::unit(),
|
Term::unit().delay(),
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
Term::var("param_msg"),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("something")
|
.lambda("something")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
void_check,
|
void_check.delay(),
|
||||||
Term::Error
|
Term::var("param_msg"),
|
||||||
.delayed_trace(Term::var("param_msg")),
|
Term::var("param_msg"),
|
||||||
Term::Error
|
Term::var("param_msg"),
|
||||||
.delayed_trace(Term::var("param_msg")),
|
Term::var("param_msg"),
|
||||||
Term::Error
|
|
||||||
.delayed_trace(Term::var("param_msg")),
|
|
||||||
Term::Error
|
|
||||||
.delayed_trace(Term::var("param_msg")),
|
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(
|
.apply(
|
||||||
Term::head_list()
|
Term::head_list()
|
||||||
.apply(Term::var("B_fields")),
|
.apply(Term::var("B_fields")),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.force()
|
||||||
.lambda("B_fields")
|
.lambda("B_fields")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
Term::var(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(Term::var("param_0")),
|
.apply(Term::var("param_0")),
|
||||||
),
|
|
||||||
Term::Error.delayed_trace(Term::var("param_msg")),
|
|
||||||
)
|
)
|
||||||
|
.delay(),
|
||||||
|
Term::var("param_msg"),
|
||||||
|
)
|
||||||
|
.force()
|
||||||
.lambda("subject")
|
.lambda("subject")
|
||||||
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("param_0")))
|
.apply(Term::var(CONSTR_INDEX_EXPOSER).apply(Term::var("param_0")))
|
||||||
.lambda("param_msg")
|
.lambda("param_msg")
|
||||||
|
@ -4283,13 +4278,14 @@ fn generic_validator_type_test() {
|
||||||
.lambda("r")
|
.lambda("r")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::var("__val"),
|
Term::var("__val").delay(),
|
||||||
Term::Error.delayed_trace(Term::var("r:A<B>")),
|
Term::var("r:A<B>"),
|
||||||
Term::Error.delayed_trace(Term::var("r:A<B>")),
|
Term::var("r:A<B>"),
|
||||||
Term::Error.delayed_trace(Term::var("r:A<B>")),
|
Term::var("r:A<B>"),
|
||||||
Term::Error.delayed_trace(Term::var("r:A<B>")),
|
Term::var("r:A<B>"),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(Term::var("r")),
|
.apply(Term::var("r")),
|
||||||
)
|
)
|
||||||
|
@ -4297,7 +4293,7 @@ fn generic_validator_type_test() {
|
||||||
.apply(Term::var("r"))
|
.apply(Term::var("r"))
|
||||||
.lambda("r")
|
.lambda("r")
|
||||||
.lambda("r:A<B>")
|
.lambda("r:A<B>")
|
||||||
.apply(Term::string("r: A<B>"))
|
.apply(Term::Error.delayed_trace(Term::string("r: A<B>")).delay())
|
||||||
.lambda(CONSTR_FIELDS_EXPOSER)
|
.lambda(CONSTR_FIELDS_EXPOSER)
|
||||||
.apply(
|
.apply(
|
||||||
Term::snd_pair()
|
Term::snd_pair()
|
||||||
|
@ -4955,19 +4951,23 @@ fn expect_head_no_tail() {
|
||||||
assert_uplc(
|
assert_uplc(
|
||||||
src,
|
src,
|
||||||
Term::var("a")
|
Term::var("a")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h]=a")),
|
Term::var("expect[h]=a"),
|
||||||
Term::tail_list()
|
Term::tail_list()
|
||||||
.apply(Term::var("a"))
|
.apply(Term::var("a"))
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::var("h"))
|
.apply(Term::var("h"))
|
||||||
.apply(Term::var("h")),
|
.apply(Term::var("h"))
|
||||||
Term::Error.delayed_trace(Term::var("expect[h]=a")),
|
.delay(),
|
||||||
|
Term::var("expect[h]=a"),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("h")
|
.lambda("h")
|
||||||
.apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("a")))),
|
.apply(Term::un_i_data().apply(Term::head_list().apply(Term::var("a"))))
|
||||||
|
.delay(),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("a")
|
.lambda("a")
|
||||||
.apply(Term::list_values(vec![
|
.apply(Term::list_values(vec![
|
||||||
Constant::Data(Data::integer(1.into())),
|
Constant::Data(Data::integer(1.into())),
|
||||||
|
@ -4975,7 +4975,11 @@ fn expect_head_no_tail() {
|
||||||
Constant::Data(Data::integer(3.into())),
|
Constant::Data(Data::integer(3.into())),
|
||||||
]))
|
]))
|
||||||
.lambda("expect[h]=a")
|
.lambda("expect[h]=a")
|
||||||
.apply(Term::string("expect [h] = a")),
|
.apply(
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::string("expect [h] = a"))
|
||||||
|
.delay(),
|
||||||
|
),
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -5192,7 +5196,6 @@ fn expect_head3_cast_data_no_tail() {
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn expect_head_cast_data_no_tail() {
|
fn expect_head_cast_data_no_tail() {
|
||||||
let src = r#"
|
let src = r#"
|
||||||
|
@ -5279,11 +5282,11 @@ fn expect_head_cast_data_with_tail() {
|
||||||
assert_uplc(
|
assert_uplc(
|
||||||
src,
|
src,
|
||||||
Term::var("unwrap_a")
|
Term::var("unwrap_a")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::var("tail_1")
|
Term::var("tail_1")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::equals_integer()
|
Term::equals_integer()
|
||||||
.apply(Term::var("h"))
|
.apply(Term::var("h"))
|
||||||
.apply(Term::var("h"))
|
.apply(Term::var("h"))
|
||||||
|
@ -5329,21 +5332,14 @@ fn expect_head_cast_data_with_tail() {
|
||||||
.apply(Term::var("tail_2"))
|
.apply(Term::var("tail_2"))
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error.delayed_trace(Term::var(
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
"expect[h,j,..]:List<Int>=a",
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
)),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var(
|
Term::un_i_data().apply(Term::var("__val")).delay(),
|
||||||
"expect[h,j,..]:List<Int>=a",
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
)),
|
|
||||||
Term::Error.delayed_trace(Term::var(
|
|
||||||
"expect[h,j,..]:List<Int>=a",
|
|
||||||
)),
|
|
||||||
Term::un_i_data().apply(Term::var("__val")),
|
|
||||||
Term::Error.delayed_trace(Term::var(
|
|
||||||
"expect[h,j,..]:List<Int>=a",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(Term::var("list_item"))
|
.apply(Term::var("list_item"))
|
||||||
.lambda("list_item"),
|
.lambda("list_item"),
|
||||||
|
@ -5354,51 +5350,55 @@ fn expect_head_cast_data_with_tail() {
|
||||||
.lambda("j")
|
.lambda("j")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::Error
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::un_i_data().apply(Term::var("__val")).delay(),
|
||||||
Term::Error
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
|
||||||
Term::un_i_data().apply(Term::var("__val")),
|
|
||||||
Term::Error
|
|
||||||
.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(Term::head_list().apply(Term::var("tail_1"))),
|
.apply(Term::head_list().apply(Term::var("tail_1"))),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.force()
|
||||||
.lambda("tail_1")
|
.lambda("tail_1")
|
||||||
.apply(Term::tail_list().apply(Term::var("unwrap_a")))
|
.apply(Term::tail_list().apply(Term::var("unwrap_a")))
|
||||||
.lambda("h")
|
.lambda("h")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::un_i_data().apply(Term::var("__val")),
|
Term::un_i_data().apply(Term::var("__val")).delay(),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(Term::head_list().apply(Term::var("unwrap_a"))),
|
.apply(Term::head_list().apply(Term::var("unwrap_a"))),
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
.delay(),
|
||||||
|
)
|
||||||
|
.force()
|
||||||
.lambda("unwrap_a")
|
.lambda("unwrap_a")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__val")
|
Term::var("__val")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
Term::list_values(vec![
|
Term::list_values(vec![
|
||||||
Constant::Data(Data::integer(1.into())),
|
Constant::Data(Data::integer(1.into())),
|
||||||
Constant::Data(Data::integer(2.into())),
|
Constant::Data(Data::integer(2.into())),
|
||||||
Constant::Data(Data::integer(3.into())),
|
Constant::Data(Data::integer(3.into())),
|
||||||
]),
|
])
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
.delay(),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,j,..]:List<Int>=a")),
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
|
Term::var("expect[h,j,..]:List<Int>=a"),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__val")
|
.lambda("__val")
|
||||||
.apply(Term::data(Data::list(vec![
|
.apply(Term::data(Data::list(vec![
|
||||||
Data::integer(1.into()),
|
Data::integer(1.into()),
|
||||||
|
@ -5407,7 +5407,11 @@ fn expect_head_cast_data_with_tail() {
|
||||||
]))),
|
]))),
|
||||||
)
|
)
|
||||||
.lambda("expect[h,j,..]:List<Int>=a")
|
.lambda("expect[h,j,..]:List<Int>=a")
|
||||||
.apply(Term::string("expect [h, j, ..]: List<Int> = a")),
|
.apply(
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::string("expect [h, j, ..]: List<Int> = a"))
|
||||||
|
.delay(),
|
||||||
|
),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue