summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/system/memalloc.nim6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/system/memalloc.nim b/lib/system/memalloc.nim
index f8ebc8c5f..49766e69d 100644
--- a/lib/system/memalloc.nim
+++ b/lib/system/memalloc.nim
@@ -116,6 +116,9 @@ when hasAlloc and not defined(js):
     ##
     ## See also:
     ## * `create <#create,typedesc>`_
+    static:
+      when sizeof(T) <= 0:
+        {.fatal: "createU does not support types T where sizeof(T) == 0".}
     cast[ptr T](alloc(T.sizeof * size))
 
   template alloc0*(size: Natural): pointer =
@@ -141,6 +144,9 @@ when hasAlloc and not defined(js):
     ##
     ## The allocated memory belongs to its allocating thread!
     ## Use `createShared <#createShared,typedesc>`_ to allocate from a shared heap.
+    static:
+      when sizeof(T) <= 0:
+        {.fatal: "create does not support types T where sizeof(T) == 0".}
     cast[ptr T](alloc0(sizeof(T) * size))
 
   template realloc*(p: pointer, newSize: Natural): pointer =