Bugfix: The compiler were not inserting proper downcasts for generic types
This resulted in a codegen error in C++ mode, because the generic types were not defined in modules where calls requiring downcasts were used (generating a downcast forces the inclusion of the full definition of the involved types).
This commit is contained in:
parent
4ab1cfb0b0
commit
7297613900
4 changed files with 25 additions and 4 deletions
14
tests/generics/module_with_generics.nim
Normal file
14
tests/generics/module_with_generics.nim
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
type
|
||||
Base[T] = ref object {.inheritable.}
|
||||
value*: T
|
||||
|
||||
Derived[T] = ref object of Base[T]
|
||||
derivedValue*: T
|
||||
|
||||
proc makeDerived*[T](v: T): Derived[T] =
|
||||
new result
|
||||
result.value = v
|
||||
|
||||
proc setBaseValue*[T](a: Base[T], value: T) =
|
||||
a.value = value
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue