diff --git a/tests/cpp/torc.nim b/tests/cpp/torc.nim index 636105f31..64c6c0e5f 100644 --- a/tests/cpp/torc.nim +++ b/tests/cpp/torc.nim @@ -23,3 +23,19 @@ type var b = Bar() discard b + +# bug #4678 +{.emit: """/*TYPESECTION*/ +enum class SomeEnum {A,B,C}; +""".} +type + EnumVector[T: enum] {.importcpp: "std::vector", header: "vector".} = object + SomeEnum {.importcpp, nodecl.} = enum + A,B,C + +proc asVector*[T](t: T): EnumVector[T] = + discard +# Nim generates this signature here: +# N_NIMCALL(std::vector<> , asvector_106028_3197418230)(SomeEnum t0) + +discard asVector(SomeEnum.A)