From 4b95db4f880d95de90f470f3dc26af64f1669c27 Mon Sep 17 00:00:00 2001 From: KtorZ Date: Sat, 19 Oct 2024 10:50:44 +0200 Subject: [PATCH] Fix data-type reification from Void --- CHANGELOG.md | 16 +++++++++++++++- crates/aiken-lang/src/builtins.rs | 14 ++++++++++++++ crates/aiken-lang/src/expr.rs | 3 ++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5c6cb6b..f5a4b338 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,20 @@ # Changelog -## v1.1.4 -2024-10-01 +## v1.1.5 - UNRELEASED + +### Added + +- N/A + +### Changed + +- **aiken-lang**: Fix data-type reification from `Void`; somehow missing from known definition :facepalm:. @KtorZ + +### Removed + +- N/A + +## v1.1.4 - 2024-10-01 ### Added diff --git a/crates/aiken-lang/src/builtins.rs b/crates/aiken-lang/src/builtins.rs index dccffdc3..2a9c53c1 100644 --- a/crates/aiken-lang/src/builtins.rs +++ b/crates/aiken-lang/src/builtins.rs @@ -1486,6 +1486,16 @@ pub fn prelude_data_types(id_gen: &IdGenerator) -> IndexMap Self { + DataType::known_enum(well_known::VOID, well_known::VOID_CONSTRUCTORS) + } + pub fn bool() -> Self { DataType::known_enum(well_known::BOOL, well_known::BOOL_CONSTRUCTORS) } diff --git a/crates/aiken-lang/src/expr.rs b/crates/aiken-lang/src/expr.rs index 548a401b..0622783c 100644 --- a/crates/aiken-lang/src/expr.rs +++ b/crates/aiken-lang/src/expr.rs @@ -1233,7 +1233,8 @@ impl UntypedExpr { } Err(format!( - "invalid type annotation {tipo:?} for {ix}{} constructor with fields: {fields:?}", + "invalid type annotation {tipo:?} for {}{} constructor with fields: {fields:?}", + ix + 1, ordinal::Ordinal::(ix + 1).suffix(), )) }