diff options
author | Juan M Gómez <info@jmgomez.me> | 2023-08-10 13:15:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-10 14:15:23 +0200 |
commit | 8625e712503bb36e29ed24a28d484fe7d5af05fa (patch) | |
tree | 381deff8f67846dff74552d9d86affb0f2df9286 /tests/cpp/tmember.nim | |
parent | 05f7c4f79db096581352cbe20666f82300d21580 (diff) | |
download | Nim-8625e712503bb36e29ed24a28d484fe7d5af05fa.tar.gz |
adds support for functor in member (#22433)
* adds support for functor in member * improves functor test
Diffstat (limited to 'tests/cpp/tmember.nim')
-rw-r--r-- | tests/cpp/tmember.nim | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/cpp/tmember.nim b/tests/cpp/tmember.nim index 3f498c722..07bd5e0ee 100644 --- a/tests/cpp/tmember.nim +++ b/tests/cpp/tmember.nim @@ -7,6 +7,7 @@ false hello foo hello boo hello boo +FunctorSupport! destructing destructing ''' @@ -51,3 +52,13 @@ let booAsFoo = cast[FooPtr](newCpp[Boo]()) foo.salute() boo.salute() booAsFoo.salute() + +type + NimFunctor = object + discard +proc invoke(f: NimFunctor, n:int) {.member:"operator ()('2 #2)" .} = + echo "FunctorSupport!" + +{.experimental: "callOperator".} +proc `()`(f: NimFunctor, n:int) {.importcpp:"#(@)" .} +NimFunctor()(1) |