Preserve TypeAlias in types for better context/feedback.

This commit is contained in:
KtorZ
2024-03-08 12:46:42 +01:00
parent 877d10ef22
commit ed9f5c6ef7
13 changed files with 420 additions and 201 deletions

View File

@@ -1,15 +1,13 @@
use indexmap::IndexSet;
use itertools::Itertools;
use std::{borrow::BorrowMut, rc::Rc, slice::Iter};
use uplc::{builder::EXPECT_ON_LIST, builtins::DefaultFunction};
use super::air::{Air, ExpectLevel};
use crate::{
ast::{BinOp, Curve, Span, UnOp},
builtins::{bool, byte_array, data, int, list, string, void},
tipo::{Type, ValueConstructor, ValueConstructorVariant},
};
use super::air::{Air, ExpectLevel};
use indexmap::IndexSet;
use itertools::Itertools;
use std::{borrow::BorrowMut, rc::Rc, slice::Iter};
use uplc::{builder::EXPECT_ON_LIST, builtins::DefaultFunction};
#[derive(Clone, Debug, PartialEq)]
pub struct TreePath {
@@ -720,6 +718,7 @@ impl AirTree {
Type::Fn {
args: vec![list(data())],
ret: data(),
alias: None,
}
.into(),
ValueConstructorVariant::ModuleFn {