Editions Ideas

Quirin Schroll qs.il.paperinik at gmail.com
Fri Jan 16 12:56:20 UTC 2026


On Saturday, 13 December 2025 at 21:25:29 UTC, Sadiel wrote:
> On Friday, 12 December 2025 at 23:05:27 UTC, Walter Bright 
> wrote:
>> Now that Editions have been implemented (thanks Atila, Dennis, 
>> and Rikki) it's time to solicit D features to be dropped from 
>> the next Edition of D.
>>
>> I'll start by eliminating -revert=intpromote
>
> I think this is the way, focusing first on eliminating things 
> instead of adding more.
>
> This is a list of things that the D team have wanted to remove 
> over the years:
>
> - Complex number support
> - Lazy attribute
> - Some problematic features of classes, __traits(compiles, ...)
> - alias this
> - Extern C++ with an identifier for the namespace

I get all of those, just not removing complex numbers. Complex 
numbers shouldn’t be a library feature generally for a language 
like D, but D also advertises C interop. Well, C99 has native 
complex and imaginary number support. Yes, there are asterisks, 
but by and large, they’re supported. They’re supported where D is 
supported.

The storage class `lazy` cannot easily be replaced due to 
attribute shenanigans. There is no alternative for `alias this`. 
Those two features can’t just be removed without making some 
perfectly valid things impossible. You’d have to replace them, 
and at that point, what’s stopping you from adding the feature to 
the current language?


More information about the Digitalmars-d mailing list