diff options
Diffstat (limited to 'tests/generics/t88.nim')
-rw-r--r-- | tests/generics/t88.nim | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/tests/generics/t88.nim b/tests/generics/t88.nim deleted file mode 100644 index 280a346c5..000000000 --- a/tests/generics/t88.nim +++ /dev/null @@ -1,33 +0,0 @@ -# Issue 88 - -type - BaseClass[V] = object of RootObj - b: V - -proc new[V](t: typedesc[BaseClass], v: V): BaseClass[V] = - BaseClass[V](b: v) - -proc baseMethod[V](v: BaseClass[V]): V = v.b -proc overriddenMethod[V](v: BaseClass[V]): V = v.baseMethod - -type - ChildClass[V] = object of BaseClass[V] - c: V - -proc new[V](t: typedesc[ChildClass], v1, v2: V): ChildClass[V] = - ChildClass[V](b: v1, c: v2) - -proc overriddenMethod[V](v: ChildClass[V]): V = v.c - -let c = ChildClass[string].new("Base", "Child") - -assert c.baseMethod == "Base" -assert c.overriddenMethod == "Child" - - -# bug #4528 -type GenericBase[T] = ref object of RootObj -type GenericSubclass[T] = ref object of GenericBase[T] -proc foo[T](g: GenericBase[T]) = discard -var bar: GenericSubclass[int] -foo(bar) |