Currently 5-7 edits for compile errors and few extra enums/structs link errors.
Compile errors:
~no implicit int to int* conversion (null macro?)~
placement new, this library is using tag to distinguish from C++ runtime variant, specific to this lib, won't likely fix as this will require post-actions feature, that will require D AST manipulation feature
~function call with 0 instead of null (non ref parameters)~
~implicit casts in assignment, int to bool, etc...~
~narrowing casts, int to byte, etc...~
const method returning non const value (no solution, will require flow analysis, not likely happen ever, basically users are forced to audit the sources and fix this depending on the situation, either remove const from method, add non const overload or whatever else might fit)
non const method not callable using const object (basically same as above, no known fix except strip const from fields)
primitive types ref params not callable with literals
~wrong calls to default ctor (aka __ctor) for structs, should call helper method (_default_ctor) instead~
Link errors:
many C++ classes is turned into struct - must add mangle as class directive
many enums are emitted as separate constants, such cases must be handled using regular enum and external aliases to values following declaration
[Windows/MSVC] const ptr to non const data, the classic
Issues that needs to be fixed after generation for https://github.com/recastnavigation/recastnavigation library, this is the list of issues that prevents doing it full auto!
Currently 5-7 edits for compile errors and few extra enums/structs link errors.
Compile errors:
~no implicit int to int* conversion (null macro?)~
placement new, this library is using tag to distinguish from C++ runtime variant, specific to this lib, won't likely fix as this will require post-actions feature, that will require D AST manipulation feature
~function call with 0 instead of null (non ref parameters)~
~implicit casts in assignment, int to bool, etc...~
~narrowing casts, int to byte, etc...~
const method returning non const value (no solution, will require flow analysis, not likely happen ever, basically users are forced to audit the sources and fix this depending on the situation, either remove const from method, add non const overload or whatever else might fit)
non const method not callable using const object (basically same as above, no known fix except strip const from fields)
primitive types ref params not callable with literals
~wrong calls to default ctor (aka __ctor) for structs, should call helper method (_default_ctor) instead~
Link errors:
many C++ classes is turned into struct - must add mangle as class directive
many enums are emitted as separate constants, such cases must be handled using regular enum and external aliases to values following declaration
[Windows/MSVC] const ptr to non const data, the classic