From ef0cb4dbdc1c036f70f94a905cbacae9be5abf5e Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 14 Feb 2026 23:30:18 +0900 Subject: refactor: shallow copy typedef-ed types to remove work-around --- src/ast.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/ast.c') diff --git a/src/ast.c b/src/ast.c index 89c8aea..790eb81 100644 --- a/src/ast.c +++ b/src/ast.c @@ -88,6 +88,12 @@ Type* type_new(TypeKind kind) { return ty; } +Type* type_dup(Type* src) { + Type* ty = malloc(sizeof(Type)); + memcpy(ty, src, sizeof(Type)); + return ty; +} + Type* type_new_ptr(Type* base) { Type* ty = type_new(TypeKind_ptr); ty->base = base; -- cgit v1.3-1-g0d28