diff --git a/crates/aiken-lang/src/uplc.rs b/crates/aiken-lang/src/uplc.rs index 0041838b..f25b1e0b 100644 --- a/crates/aiken-lang/src/uplc.rs +++ b/crates/aiken-lang/src/uplc.rs @@ -1389,7 +1389,7 @@ impl<'a> CodeGenerator<'a> { Pattern::Discard { .. } => None, a @ Pattern::List { elements, tail, .. } => { let item_name = format!("__list_item_id_{}", self.id_gen.next()); - let new_tail_name = "__list_tail".to_string(); + let new_tail_name = "__tail".to_string(); if elements.is_empty() { pattern_vec.push(Air::ListClauseGuard { @@ -1477,9 +1477,7 @@ impl<'a> CodeGenerator<'a> { inverse: true, }); - pattern_vec.push(Air::Void { scope: scope.clone() }); - }; } } diff --git a/examples/acceptance_tests/059/lib/tests.ak b/examples/acceptance_tests/059/lib/tests.ak index c34b7c25..f86ba2bc 100644 --- a/examples/acceptance_tests/059/lib/tests.ak +++ b/examples/acceptance_tests/059/lib/tests.ak @@ -5,3 +5,13 @@ test foo() { _ -> False } } + +test sort_by_1() { + let xs = [[4, 3], [2, 3]] + let g = when xs is { + [[x, xs2], [y, ys2]] -> True + _ -> False + } + + g == True +}