Fix missing delay in list_access_to_uplc. Also fix one of the unit tests.
This commit is contained in:
parent
41b941e0e3
commit
cc9df04093
|
@ -1517,7 +1517,8 @@ pub fn list_access_to_uplc(
|
||||||
.choose_list(acc.delay(), otherwise_delayed.clone())
|
.choose_list(acc.delay(), otherwise_delayed.clone())
|
||||||
.force()
|
.force()
|
||||||
.lambda(name)
|
.lambda(name)
|
||||||
.apply(head_item),
|
.apply(head_item)
|
||||||
|
.delay(),
|
||||||
)
|
)
|
||||||
.force()
|
.force()
|
||||||
.lambda(tail_name)
|
.lambda(tail_name)
|
||||||
|
|
|
@ -5065,17 +5065,17 @@ fn expect_head3_cast_data_no_tail() {
|
||||||
assert_uplc(
|
assert_uplc(
|
||||||
src,
|
src,
|
||||||
Term::var("tail_0")
|
Term::var("tail_0")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,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,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::var("tail_2")
|
Term::var("tail_2")
|
||||||
.delayed_choose_list(
|
.choose_list(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::tail_list()
|
Term::tail_list()
|
||||||
.apply(Term::var("tail_2"))
|
.apply(Term::var("tail_2"))
|
||||||
.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"))
|
||||||
|
@ -5090,68 +5090,66 @@ fn expect_head3_cast_data_no_tail() {
|
||||||
.apply(Term::var("j"))
|
.apply(Term::var("j"))
|
||||||
.apply(Term::var("j")),
|
.apply(Term::var("j")),
|
||||||
Term::bool(false),
|
Term::bool(false),
|
||||||
),
|
)
|
||||||
Term::Error
|
.delay(),
|
||||||
.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("j")
|
.lambda("j")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__var")
|
Term::var("__var")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error.delayed_trace(Term::var(
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
"expect[h,i,j]:List<Int>=a",
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
)),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var(
|
Term::un_i_data().apply(Term::var("__var")).delay(),
|
||||||
"expect[h,i,j]:List<Int>=a",
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
)),
|
|
||||||
Term::Error.delayed_trace(Term::var(
|
|
||||||
"expect[h,i,j]:List<Int>=a",
|
|
||||||
)),
|
|
||||||
Term::un_i_data().apply(Term::var("__var")),
|
|
||||||
Term::Error.delayed_trace(Term::var(
|
|
||||||
"expect[h,i,j]:List<Int>=a",
|
|
||||||
)),
|
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__var")
|
.lambda("__var")
|
||||||
.apply(Term::head_list().apply(Term::var("tail_2"))),
|
.apply(Term::head_list().apply(Term::var("tail_2"))),
|
||||||
),
|
)
|
||||||
|
.delay(),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("tail_2")
|
.lambda("tail_2")
|
||||||
.apply(Term::tail_list().apply(Term::var("tail_1")))
|
.apply(Term::tail_list().apply(Term::var("tail_1")))
|
||||||
.lambda("i")
|
.lambda("i")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__var")
|
Term::var("__var")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::Error
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::un_i_data().apply(Term::var("__var")).delay(),
|
||||||
Term::Error
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
|
||||||
Term::un_i_data().apply(Term::var("__var")),
|
|
||||||
Term::Error
|
|
||||||
.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__var")
|
.lambda("__var")
|
||||||
.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("tail_0")))
|
.apply(Term::tail_list().apply(Term::var("tail_0")))
|
||||||
.lambda("h")
|
.lambda("h")
|
||||||
.apply(
|
.apply(
|
||||||
Term::var("__var")
|
Term::var("__var")
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::un_i_data().apply(Term::var("__var")),
|
Term::un_i_data().apply(Term::var("__var")).delay(),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("__var")
|
.lambda("__var")
|
||||||
.apply(Term::head_list().apply(Term::var("tail_0"))),
|
.apply(Term::head_list().apply(Term::var("tail_0"))),
|
||||||
),
|
)
|
||||||
|
.delay(),
|
||||||
)
|
)
|
||||||
|
.force()
|
||||||
.lambda("tail_0")
|
.lambda("tail_0")
|
||||||
.apply(
|
.apply(
|
||||||
Term::data(Data::list(vec![
|
Term::data(Data::list(vec![
|
||||||
|
@ -5159,20 +5157,26 @@ fn expect_head3_cast_data_no_tail() {
|
||||||
Data::integer(2.into()),
|
Data::integer(2.into()),
|
||||||
Data::integer(3.into()),
|
Data::integer(3.into()),
|
||||||
]))
|
]))
|
||||||
.delayed_choose_data(
|
.choose_data(
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,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,i,j]:List<Int>=a")),
|
.delay(),
|
||||||
Term::Error.delayed_trace(Term::var("expect[h,i,j]:List<Int>=a")),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
),
|
Term::var("expect[h,i,j]:List<Int>=a"),
|
||||||
|
)
|
||||||
|
.force(),
|
||||||
)
|
)
|
||||||
.lambda("expect[h,i,j]:List<Int>=a")
|
.lambda("expect[h,i,j]:List<Int>=a")
|
||||||
.apply(Term::string("expect [h, i, j]: List<Int> = a")),
|
.apply(
|
||||||
|
Term::Error
|
||||||
|
.delayed_trace(Term::string("expect [h, i, j]: List<Int> = a"))
|
||||||
|
.delay(),
|
||||||
|
),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue