summary refs log tree commit diff stats
path: root/tests/generics
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2017-04-28 17:40:57 +0300
committerZahary Karadjov <zahary@gmail.com>2017-04-28 17:40:57 +0300
commitc981284ddcbfe192b3554c9730b5fa6fc1b35a17 (patch)
treee99fa4816392dcc2f7320187982d623646802f98 /tests/generics
parentbc01835091df93d8d278a55c62338e96be646e46 (diff)
downloadNim-c981284ddcbfe192b3554c9730b5fa6fc1b35a17.tar.gz
a simple way to simulate covariance in generic types
Diffstat (limited to 'tests/generics')
-rw-r--r--tests/generics/tfakecovariance.nim11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/generics/tfakecovariance.nim b/tests/generics/tfakecovariance.nim
new file mode 100644
index 000000000..835acd9d3
--- /dev/null
+++ b/tests/generics/tfakecovariance.nim
@@ -0,0 +1,11 @@
+type
+  BaseObj = object of RootObj
+  DerivedObj = object of BaseObj
+
+  Container[T] = object
+
+proc doSomething(c: Container[BaseObj or DerivedObj]) = discard
+
+var t: Container[DerivedObj]
+doSomething t
+