summary refs log tree commit diff stats
path: root/tests/compile/ttempl3.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/compile/ttempl3.nim')
-rw-r--r--tests/compile/ttempl3.nim58
1 files changed, 0 insertions, 58 deletions
diff --git a/tests/compile/ttempl3.nim b/tests/compile/ttempl3.nim
deleted file mode 100644
index 59be24624..000000000
--- a/tests/compile/ttempl3.nim
+++ /dev/null
@@ -1,58 +0,0 @@
-
-template withOpenFile(f: expr, filename: string, mode: TFileMode,
-                      actions: stmt): stmt {.immediate.} =
-  block:
-    # test that 'f' is implicitly 'injecting':
-    var f: TFile
-    if open(f, filename, mode):
-      try:
-        actions
-      finally:
-        close(f)
-    else:
-      quit("cannot open for writing: " & filename)
-    
-withOpenFile(txt, "ttempl3.txt", fmWrite):
-  writeln(txt, "line 1")
-  txt.writeln("line 2")
-  
-var
-  myVar: array[0..1, int]
-
-# Test zero argument template: 
-template ha: expr = myVar[0]
-  
-ha = 1  
-echo(ha)
-
-
-# Test identifier generation:
-template prefix(name: expr): expr {.immediate.} = `"hu" name`
-
-var `hu "XYZ"` = "yay"
-
-echo prefix(XYZ)
-
-template typedef(name: expr, typ: typeDesc) {.immediate, dirty.} =
-  type
-    `T name`* = typ
-    `P name`* = ref `T name`
-    
-typedef(myint, int)
-var x: PMyInt
-
-
-# Test UFCS
-
-type
-  Foo = object
-    arg: int
-
-proc initFoo(arg: int): Foo =
-  result.arg = arg
-
-template create(typ: typeDesc, arg: expr): expr = `init typ`(arg)
-
-var ff = Foo.create(12)
-
-echo ff.arg