From 18e79db4b272fb7d3816ffcc00a7b75319db6432 Mon Sep 17 00:00:00 2001 From: microproofs Date: Thu, 19 Sep 2024 22:29:13 -0400 Subject: [PATCH] Fix edge case with traces off and usage of softcast and hardcast on the same type --- crates/aiken-lang/src/gen_uplc.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/aiken-lang/src/gen_uplc.rs b/crates/aiken-lang/src/gen_uplc.rs index 94effbdc..ba31d1bd 100644 --- a/crates/aiken-lang/src/gen_uplc.rs +++ b/crates/aiken-lang/src/gen_uplc.rs @@ -2233,7 +2233,14 @@ impl<'a> CodeGenerator<'a> { IndexMap::new() }; - let data_type_name = format!("__expect_{}_{}", data_type.name, data_type_variant); + let data_type_name = if otherwise.is_some() { + format!( + "__expect_{}_{}_otherwise", + data_type.name, data_type_variant + ) + } else { + format!("__expect_{}_{}", data_type.name, data_type_variant) + }; let function = self.code_gen_functions.get(&data_type_name); // mutate code_gen_funcs and defined_data_types in this if branch