C++: ptr fields now pulls the whole type if it's a member in nkDotExpr (#22855)

This commit is contained in:
Juan M Gómez
2023-10-23 07:59:14 +01:00
committed by GitHub
parent c13c48500b
commit ca577dbab1
3 changed files with 24 additions and 1 deletions

View File

@@ -115,4 +115,12 @@ proc test(self: Child): Box[Inner] {.virtual, asmnostackframe.} =
{.emit:"return res;".}
discard Child().test()
discard Child().test()
import virtualptr
#We dont want to pull Loo directly by using it as we are testing that the pointer pulls it.
proc makeMoo(): Moo {.importcpp:"{ new Loo() }".}
makeMoo().loo.salute()

9
tests/cpp/virtualptr.nim Normal file
View File

@@ -0,0 +1,9 @@
type
Loo* {.exportc.} = object
LooPtr* = ptr Loo
Moo* {.exportc.} = object
loo*: LooPtr
proc salute*(foo: LooPtr) {.virtual.} =
discard