Detect when fields_expose is unnecessary in clause_pattern
This commit is contained in:
parent
9335522df4
commit
44021cde19
|
@ -2242,6 +2242,8 @@ impl<'a> CodeGenerator<'a> {
|
||||||
subject_tipo.clone(),
|
subject_tipo.clone(),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
} else if indices.iter().all(|s| s.1 == "_") {
|
||||||
|
AirTree::no_op()
|
||||||
} else {
|
} else {
|
||||||
AirTree::fields_expose(
|
AirTree::fields_expose(
|
||||||
indices,
|
indices,
|
||||||
|
|
|
@ -4824,13 +4824,6 @@ fn list_clause_with_assign2() {
|
||||||
Term::mk_cons()
|
Term::mk_cons()
|
||||||
.apply(Term::var("n"))
|
.apply(Term::var("n"))
|
||||||
.apply(Term::empty_list())
|
.apply(Term::empty_list())
|
||||||
.lambda("_")
|
|
||||||
.apply(
|
|
||||||
Term::var(
|
|
||||||
CONSTR_FIELDS_EXPOSER,
|
|
||||||
)
|
|
||||||
.apply(Term::var("n")),
|
|
||||||
)
|
|
||||||
.delay(),
|
.delay(),
|
||||||
Term::var("clauses_delayed"),
|
Term::var("clauses_delayed"),
|
||||||
)
|
)
|
||||||
|
@ -5374,13 +5367,7 @@ fn tuple_2_match() {
|
||||||
.apply(Term::var("tuple_index_1")),
|
.apply(Term::var("tuple_index_1")),
|
||||||
)
|
)
|
||||||
.if_else(
|
.if_else(
|
||||||
Term::bool(false)
|
Term::bool(false).delay(),
|
||||||
.lambda("_")
|
|
||||||
.apply(
|
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
|
||||||
.apply(Term::var("tuple_index_1")),
|
|
||||||
)
|
|
||||||
.delay(),
|
|
||||||
Term::var("clauses_delayed"),
|
Term::var("clauses_delayed"),
|
||||||
)
|
)
|
||||||
.force()
|
.force()
|
||||||
|
@ -5389,15 +5376,7 @@ fn tuple_2_match() {
|
||||||
)
|
)
|
||||||
.force()
|
.force()
|
||||||
.lambda("clauses_delayed")
|
.lambda("clauses_delayed")
|
||||||
.apply(
|
.apply(Term::bool(false).delay())
|
||||||
Term::bool(false)
|
|
||||||
.lambda("_")
|
|
||||||
.apply(
|
|
||||||
Term::var(CONSTR_FIELDS_EXPOSER)
|
|
||||||
.apply(Term::var("tuple_index_0")),
|
|
||||||
)
|
|
||||||
.delay(),
|
|
||||||
)
|
|
||||||
.delay(),
|
.delay(),
|
||||||
)
|
)
|
||||||
.delay(),
|
.delay(),
|
||||||
|
|
Loading…
Reference in New Issue