`ref T` should be a type!!

Rose rose at sarajevo.com
Wed Apr 3 20:28:35 UTC 2019


On Wednesday, 3 April 2019 at 20:11:02 UTC, Rubn wrote:
> On Wednesday, 3 April 2019 at 20:10:08 UTC, Rubn wrote:
>> On Tuesday, 2 April 2019 at 20:43:14 UTC, Walter Bright wrote:
>>> On 4/2/2019 4:05 AM, Andrei Alexandrescu wrote:
>>>> You forgot to mention that top-level "const" is ignored in 
>>>> function parameters (for the signature and mangling but not 
>>>> the implementation).
>>>
>>> Curiously, it is present in the name mangling for dmc++ and 
>>> dmd (for extern(D)), but it should be fixed for dmd.
>>>
>>> https://issues.dlang.org/show_bug.cgi?id=19785
>>>
>>>
>>>> Now the fact that "42" is just ignored in the declaration 
>>>> below is indistinguishable from conspiracy:
>>>> 
>>>> void fun(int a[42]);
>>>
>>> Ironically, it is not ignored in the C++ mangling if it's a 
>>> ref to int[42].
>>
>> Not ironically, because you can't have a reference to a 
>> pointer :). It makes sense if you understand that:
>>
>>    void foo( int a[] );
>>
>> Is not a parameter to an array. After your whole spiel about 
>> ferraris, engines, and how their users won't see the internal 
>> workings of the engine. I'd have hoped better from you than 
>> you pointing at the top level fluffy user-friendly error 
>> message and saying LOOK LOOK it says array so it must be an 
>> array!
>
> A pointer to a reference*.

The Dunning-Kruger is strong with this one.

Arrogance completes ignorance.


More information about the Digitalmars-d mailing list