aboutsummaryrefslogtreecommitdiff
path: root/src/type/check.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/type/check.rs')
-rw-r--r--src/type/check.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/type/check.rs b/src/type/check.rs
index 5ccd0e7..bb88efb 100644
--- a/src/type/check.rs
+++ b/src/type/check.rs
@@ -510,6 +510,14 @@ impl Type {
Ok(r1)
},
+ (SumType(a1, a2), SumType(b1, b2)) => {
+ let mut r1 = a1.infer_generics_ctx(b1, ctx.clone())?;
+ let r2 = a2.infer_generics_ctx(b2, ctx.clone())?;
+ r1.extend_from_slice(&r2);
+ r1.extend_from_slice(&ctx);
+ Ok(r1)
+ },
+
(List(v1), List(v2)) => {
let mut res = ctx.clone();
for (t1, t2) in v1.into_iter().zip(v2.into_iter()) {