"Jacob Carlborg" <d...@me.com> wrote in message news:j4i33b$1bc2$1...@digitalmars.com... > I find this strange: > > D can call C++ free functions and virtual member functions but it cannot > call non-virtual or static member functions. > > Especially not be able to call static member functions are strange. I > thought that free functions and static member functions where implemented > in the same way. As far as I know they are implemented in the same way in > D. > > -- > /Jacob Carlborg
Adding the C++ interfacing capability was well before my time, so I'm not sure how it ended up with the current limitations. Maybe someone else does? I think the issue with static member functions is getting the name mangling/linking to work, this is obviously never a problem for virtual functions, and is simpler for free functions. I'll have a go at this eventually if nobody beats me to it.