summaryrefslogtreecommitdiff
path: root/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'types.h')
-rw-r--r--types.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/types.h b/types.h
index 1734393..2ecb331 100644
--- a/types.h
+++ b/types.h
@@ -317,6 +317,7 @@ typedef enum {
KW_FALSE,
KW_NMS,
KW_TYPEOF,
+ KW_WHERE,
KW_COUNT
} Keyword;
@@ -331,7 +332,7 @@ static const char *const keywords[KW_COUNT] =
"int", "i8", "i16", "i32", "i64",
"u8", "u16", "u32", "u64", "float", "f32", "f64", "Type",
"Namespace",
- "char", "bool", "true", "false", "nms", "typeof"};
+ "char", "bool", "true", "false", "nms", "typeof", "where"};
typedef enum {
NUM_LITERAL_INT,
@@ -689,6 +690,7 @@ typedef struct FnExpr {
U64 instance_id;
Type ret_type;
Block body;
+ struct Expression *condition; /* fn(...) ... where ... */
};
struct {
Type type; /* type of this function */