summary refs log tree commit diff stats
path: root/tests/compile
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2013-12-28 12:50:45 +0200
committerZahary Karadjov <zahary@gmail.com>2013-12-28 12:50:45 +0200
commita59f13b00dff570865201e860ea24d202b60c85a (patch)
tree931818f7a12e6ca31c8f62d46f39cc64e1804395 /tests/compile
parenta27eb51535f9ff233b67e5bac80cc51b81c343c7 (diff)
downloadNim-a59f13b00dff570865201e860ea24d202b60c85a.tar.gz
lift generic parameters from concrete composite type classes
Diffstat (limited to 'tests/compile')
-rw-r--r--tests/compile/tcompositetypeclasses.nim17
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/compile/tcompositetypeclasses.nim b/tests/compile/tcompositetypeclasses.nim
index ea966f1a9..4ba92fed1 100644
--- a/tests/compile/tcompositetypeclasses.nim
+++ b/tests/compile/tcompositetypeclasses.nim
@@ -13,18 +13,23 @@ type
 
   TUserClass = int|string
 
-  # TBaz = TBar[TUserClass]
+  TBaz = TBar[TUserClass]
 
 var
   vfoo: TFoo[int, string]
   vbar: TFoo[string, string]
+  vbaz: TFoo[int, int]
+  vnotbaz: TFoo[TObject, TObject]
 
 proc foo(x: TFoo) = echo "foo"
 proc bar(x: TBar) = echo "bar"
-# proc baz(x: TBaz) = echo "baz"
+proc baz(x: TBaz) = echo "baz"
 
-accept(foo(vfoo))
-accept(bar(vbar))
-# baz vbar
-reject(bar(vfoo))
+accept foo(vfoo)
+accept bar(vbar)
+accept baz(vbar)
+accept baz(vbaz)
+
+reject baz(vnotbaz)
+reject bar(vfoo)