I've used it quite a bit for a number of bindings (opencv, sfml + many other libs). It's much easier than the conventional approach of manual bindings (eg deimos), especially to keep the port up to date with upstream changes.

However the following should be worked on:

* support for newly introduced C++ namespaces (https://github.com/swig/swig/issues/213)

* some support for multiple inheritance (I proposed using alias this in https://github.com/swig/swig/issues/98)

* mapping of C++ templates to D templates in simple cases at least (the templates would have to be instantiated somewhere in source file of course to avoid linker errors). Only the function signature would be mapped, the implementation would be still on C++ side

* miscellaneous compiler warnings that shouldn't be hard to deal with 
  - Deprecation: Read-modify-write operations are not allowed for shared variables : has a pull request (https://github.com/swig/swig/issues/203 )
  - missing override 

* it would help to have a dedicated bug tracker for D-swig. Currently github issues for swig lump all other languages together, making D-swig of limited visibility for D community. At least create a SWIG-D label in github issues.

@klickverbot will tell you more as he implemented most of it IIRC



On Wed, Aug 27, 2014 at 6:08 PM, Scott Wilson via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
SWIG has D support. But it seems old and out of fashion. Community here does not buzz about it much either. Whats the word on the street about the quality of SWIG-D stuff?

Scott

PS thankyou Walter for replying