Files
Nim/tests/cpp/get_subsystem.nim
Zahary Karadjov 6fb372d96b The getSubsystem<T> example in the manual currently fails with a codegen error
A faulty proc declaration is generated:
N_NIMCALL(System::Input*, SystemManager::getSubsystem<'*0>())(void);
The manual has been edited to add a nodecl pragma, which alleviates the issue

Fix a typo in the vector_iterator example from the previous commit.
2015-04-14 00:03:31 +03:00

23 lines
375 B
Nim

discard """
cmd: "nim cpp $file"
"""
{.emit: """
namespace System {
struct Input {};
}
struct SystemManager {
template <class T>
static T* getSubsystem() { return new T; }
};
""".}
type Input {.importcpp: "System::Input".} = object
proc getSubsystem*[T](): ptr T {.importcpp: "SystemManager::getSubsystem<'*0>()".}
let input: ptr Input = getSubsystem[Input]()