From 4936708b18b5b33f71c80c082e0fedfed6559691 Mon Sep 17 00:00:00 2001 From: Ayaz Hafiz Date: Thu, 30 Mar 2023 18:20:09 -0500 Subject: [PATCH] Add gen test --- .../compiler/test_gen/src/gen_primitives.rs | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/crates/compiler/test_gen/src/gen_primitives.rs b/crates/compiler/test_gen/src/gen_primitives.rs index ec44a7561d..9050aa1481 100644 --- a/crates/compiler/test_gen/src/gen_primitives.rs +++ b/crates/compiler/test_gen/src/gen_primitives.rs @@ -4386,3 +4386,38 @@ fn recursive_lambda_set_resolved_only_upon_specialization() { u64 ); } + +#[test] +#[cfg(any(feature = "gen-llvm", feature = "gen-wasm"))] +fn layout_cache_structure_with_multiple_recursive_structures() { + assert_evals_to!( + indoc!( + r#" + app "test" provides [main] to "./platform" + + Chain : [ + End, + Link Chain, + ] + + LinkedList : [Nil, Cons { first : Chain, rest : LinkedList }] + + main = + base : LinkedList + base = Nil + + walker : LinkedList, Chain -> LinkedList + walker = \rest, first -> Cons { first, rest } + + list : List Chain + list = [] + + r = List.walk list base walker + + if r == base then 11u8 else 22u8 + "# + ), + 11, + u8 + ); +}