From 897b5d1d7e5c836d43d1cd653bc62aaf5043b262 Mon Sep 17 00:00:00 2001 From: KtorZ Date: Wed, 3 Apr 2024 12:11:12 +0200 Subject: [PATCH] Ensure type-aliases pretty-printing also work with Pair. --- crates/aiken-lang/src/tipo/pretty.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crates/aiken-lang/src/tipo/pretty.rs b/crates/aiken-lang/src/tipo/pretty.rs index 4b614a09..7e3792f1 100644 --- a/crates/aiken-lang/src/tipo/pretty.rs +++ b/crates/aiken-lang/src/tipo/pretty.rs @@ -249,6 +249,21 @@ fn resolve_alias( result } + ( + Annotation::Pair { fst, snd, .. }, + Type::Pair { + fst: t_fst, + snd: t_snd, + .. + }, + ) => { + let mut result = None; + for (ann, t) in [fst, snd].into_iter().zip([t_fst, t_snd]) { + result = result.or_else(|| resolve_one(parameter, ann, t.clone())); + } + result + } + (Annotation::Var { name, .. }, ..) if name == parameter => Some(typ), _ => None,