E.g.: typedef struct _cairo_device cairo_device_t; htod translates this incorrectly to: alias _cairo_device cairo_device_t; The closest D idiom to this is: typedef void cairo_device_t; Or if typedef is ultimately killed maybe alias would work: alias void cairo_device_t; There's a ton of this stuff in C header files. :/
For what it's worth this helps for us porting monkeys: regex: alias \w+ replace with: typedef void But you have to do this manually..
Well crap that's not good, it needs to be: typedef void cairo_device_t; typedef void _cairo_device; Stupid C APIs!
Wouldn't it be more appropriate to translate it as: struct cairo_device_t {}
The most correct translation would be: struct cairo_device_t;
dstep supports this feature (https://github.com/jacob-carlborg/dstep), marking as wontfix.