From c50a02ec703c7c1c5f6823c8cbd07a424d604792 Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 17 Aug 2022 05:18:22 +0200 Subject: more exprs, warnings --- src/type.cff | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/type.cff') diff --git a/src/type.cff b/src/type.cff index 133246d..a4a4e3d 100644 --- a/src/type.cff +++ b/src/type.cff @@ -89,6 +89,18 @@ extern fn interntype(ty0 Type) *const Type { return *set->intern(&ty0); } +extern fn completetype(ty *const Type) bool { + if ty.konst { + return completetype(unconstify(ty)); + } + switch ty.u { + case Void; return #f; + case Fn; return #f; + case Arr a; return a.length >= 0; + } + return #t; +} + extern static ty_void *const Type = {}, ty_bool *const Type = {}, ty_i8 *const Type = {}, -- cgit v1.2.3