Function pointers/delegates default args were stealth removed?

Paulo Pinto pjmlp at progtools.org
Mon Aug 27 01:01:56 PDT 2012


On Monday, 27 August 2012 at 07:54:12 UTC, Manu wrote:
> On 27 August 2012 07:52, Walter Bright 
> <newshound2 at digitalmars.com> wrote:
>
>> On 8/26/2012 9:25 PM, Chris Cain wrote:
>>
>>> On Monday, 27 August 2012 at 04:01:10 UTC, Walter Bright 
>>> wrote:
>>>
>>>> What happens with the name mangling? What about overloading? 
>>>> template
>>>> type
>>>> deduction? type specialization? type equivalence? type 
>>>> covariance?
>>>>
>>>
>>> Name mangling: Without knowing enough about compiler making, 
>>> I'm not sure
>>> why it
>>> matters. I couldn't answer, sorry.
>>>
>>
>> The mangled names have a 1:1 correspondence with types. A 
>> mangled name
>> can, for example, be reversed into a type.
>>
>> If default args form part of the type, then they'll have to be 
>> mangled in,
>> too. This causes a rather long list of substantial problems.
>>
>
> This sounds like an implementation detail/dmd quirk is defining 
> the
> language spec...

For it sounds like constraining the language while keeping the 
C/C++ linker semantics, instead of using a D aware linker.

Not trolling, just trying to understand the design constraints.

--
Paulo


More information about the Digitalmars-d mailing list