summary refs log tree commit diff stats
path: root/lib/system.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2011-07-31 00:21:32 +0200
committerAraq <rumpf_a@web.de>2011-07-31 00:21:32 +0200
commit6a8a409f1b8694e380e27afddff3cd9c29452b8c (patch)
tree4dcda408e2db40d0ce6b243c74d9160cad54c6c1 /lib/system.nim
parent2d62738bbb5e7a664fab3f7a49313b5fb839a47c (diff)
downloadNim-6a8a409f1b8694e380e27afddff3cd9c29452b8c.tar.gz
preparation for new 'is' operator; breaks bootstrapping again, sorry (use generated C code)
Diffstat (limited to 'lib/system.nim')
-rwxr-xr-xlib/system.nim3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/system.nim b/lib/system.nim
index 363d31578..33e350d7e 100755
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -43,6 +43,7 @@ type
   stmt* {.magic: Stmt.} ## meta type to denote a statement (for templates)
   typeDesc* {.magic: TypeDesc.} ## meta type to denote
                                 ## a type description (for templates)
+  void* {.magic: "VoidType".}  ## meta type to denote the absense of any type
 
 proc defined*[T](x: T): bool {.magic: "Defined", noSideEffect.}
   ## Special compile-time procedure that checks whether `x` is
@@ -649,6 +650,8 @@ template `not_in` * (x, y: expr): expr = not contains(y, x)
 proc `is` *[T, S](x: T, y: S): bool {.magic: "Is", noSideEffect.}
 template `is_not` *(x, y: expr): expr = not (x is y)
 
+proc `of` *[T, S](x: T, y: S): bool {.magic: "Of", noSideEffect.}
+
 proc cmp*[T](x, y: T): int {.procvar.} =
   ## Generic compare proc. Returns a value < 0 iff x < y, a value > 0 iff x > y
   ## and 0 iff x == y. This is useful for writing generic algorithms without