I now have a working D replacement for moc:
For those unfamiliar with Qt, moc (the Meta-Object Compiler) is a
tool that generates additional code for Qt classes, code then
used by the signal/slot system, properties and other Qt-specific
extensions. While C++ moc is not going away for probably a very
compile-time reflection makes it possible to replicate moc's
functionality entirely with templates and CTFE, with the help of
some Calypso features: C++ template instantiation, overriding C++
virtual methods, and member function pointers.
Calypso had been partially supporting Qt5 for a while and there
was a Qt5 demo written by Kelly Wilson, but to work around the
lack of moc he had to write an intermediate C++ class with
virtual slots and the signal <-> slot connections were done in
Now everything is in D:
The moc package is as faithful as possible to Qt 5.5.0's moc.
It's not finished yet (missing: properties, class info) but
signals, slots and connections are working, making Qt 5
development in D much more practical than before.