diff options
author | Zahary Karadjov <zahary@gmail.com> | 2013-12-28 12:50:45 +0200 |
---|---|---|
committer | Zahary Karadjov <zahary@gmail.com> | 2013-12-28 12:50:45 +0200 |
commit | a59f13b00dff570865201e860ea24d202b60c85a (patch) | |
tree | 931818f7a12e6ca31c8f62d46f39cc64e1804395 /tests/compile | |
parent | a27eb51535f9ff233b67e5bac80cc51b81c343c7 (diff) | |
download | Nim-a59f13b00dff570865201e860ea24d202b60c85a.tar.gz |
lift generic parameters from concrete composite type classes
Diffstat (limited to 'tests/compile')
-rw-r--r-- | tests/compile/tcompositetypeclasses.nim | 17 |
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) |