[article] Language Design Deal Breakers

deadalnix deadalnix at gmail.com
Mon May 27 07:55:54 PDT 2013


On Monday, 27 May 2013 at 14:36:26 UTC, Andrei Alexandrescu wrote:
> On 5/27/13 5:17 AM, deadalnix wrote:
>> I'm saying that NonNull require language support, either by 
>> making it a
>> first class entity, or by introducing some other language 
>> feature like
>> @disable this(). At the end it doesn't change anything for the 
>> compiler,
>> the exact same work have to be done, simply on different 
>> entities. It
>> can't be a 100% library feature as the work around @disable 
>> this shows.
>
> The difference is that @disable this() and friends allows 
> implementing NonNull PLUS a host of other restricted types, 
> whereas plopping NonNull in the language just stops there. Big 
> difference.
>

My point being that this is the exact same feature, from a 
compiler perspective.

>> I think that ideally, nonnull pointer should be a core feature.
>> Considering history, a library solution is preferable.
>>
>> But the argument about compiler feature don't stand, as 
>> nonnull pointer
>> and @disable this require the exact same processing in the 
>> compiler.
>
> No.
>

See above. Tracking initialization, that's it.


More information about the Digitalmars-d mailing list