On Monday, 10 June 2013 at 14:04:29 UTC, Manu wrote:
On 10 June 2013 23:46, David Nadlinger <c...@klickverbot.at>
Another less intrusive option would be to just add
extern(CppThisCall) and
extern(DThisCall) or something along the lines, which would be
specified to
pass the first parameter as if it was a this pointer.
That would also do the business. Do you think that's less
intrusive?
Less intrusive in the way that it is a minimal addition to the
language itself (we already have several calling conventions),
whereas your suggestion would require adding a special case to
the grammar.
That's not to say I don't like your proposal, though. I just
wanted to put the option on the table to be sure we are getting
somewhere with this, even if some people might be opposed to the
grammar change. This issue has been bugging me for quite some
time as well.
It feels a little hacky though. 'DThisCall' isn't really
'extern' so to speak.
extern(D) exists today – extern(xyz) should really be called
abi(xyz), callingconv(xyz) or something like that instead.
David