September 15, 2022

On Thursday, 15 September 2022 at 08:40:22 UTC, Dukc wrote:

>

What features could be removed from D if it were up to you? Please consider the breakage that would result from the removal, don't settle on thinking what shouldn't have been added in the first place.

The sheer number of D features has never been a problem for us. Inconsistencies, poor feature compatibility, bugs, incomplete implementations have always been. Removing binary literals, @property, shared, etc would produce zero value (unless the resultant compiler simplifications made it easier to fix real problems).

September 15, 2022
On Thursday, 15 September 2022 at 11:15:21 UTC, Sergey wrote:
> a lot of great and high performant libs (like mir)
> working in betterC mode only..

This is impossible, by definition. Anything that compiles and runs with -betterC works just as well without it (this is actually one of the few good things about its design, it guarantees compatibility in this way).
September 15, 2022

On Thursday, 15 September 2022 at 11:24:07 UTC, bauss wrote:

>

alias uint = u32;

You have then to import the module everywhere, wich makes the feature i want a painful nightmare

September 15, 2022

On Thursday, 15 September 2022 at 12:19:28 UTC, ryuukk_ wrote:

>

You have then to import the module everywhere, wich makes the feature i want a painful nightmare

Another thing for D3, global imports. The list is getting longer :).

September 15, 2022

On Thursday, 15 September 2022 at 11:47:06 UTC, Max Samukha wrote:

>

On Thursday, 15 September 2022 at 08:40:22 UTC, Dukc wrote:

>

Inconsistencies, poor feature compatibility, bugs, incomplete implementations have always been.

There should be a feature schedule.

Or: Unimplement feature list. In this way, you can add it bit by bit.

Instead of reducing existing feature!

September 15, 2022

On Thursday, 15 September 2022 at 12:19:28 UTC, ryuukk_ wrote:

>

On Thursday, 15 September 2022 at 11:24:07 UTC, bauss wrote:

>

alias uint = u32;

You have then to import the module everywhere, wich makes the feature i want a painful nightmare

The feature that you want is really the reverse
alias u32 = uint;
Can't you hack your Druntime to put it in so that you don't want to import them from everywhere?

September 15, 2022

On Thursday, 15 September 2022 at 12:19:28 UTC, ryuukk_ wrote:

>

On Thursday, 15 September 2022 at 11:24:07 UTC, bauss wrote:

>

alias uint = u32;

You have then to import the module everywhere, wich makes the feature i want a painful nightmare

Could be added to the runtime module and then simply over a couple years the aliases will be deprecated.

September 15, 2022

On Thursday, 15 September 2022 at 12:27:23 UTC, jmh530 wrote:

>

On Thursday, 15 September 2022 at 12:19:28 UTC, ryuukk_ wrote:

>

On Thursday, 15 September 2022 at 11:24:07 UTC, bauss wrote:

>

alias uint = u32;

You have then to import the module everywhere, wich makes the feature i want a painful nightmare

The feature that you want is really the reverse
alias u32 = uint;
Can't you hack your Druntime to put it in so that you don't want to import them from everywhere?

No, my alias assumes the keywords are actually renamed and being deprecated.

Yours still rely on the old keywords existing.

September 15, 2022

On Thursday, 15 September 2022 at 13:20:06 UTC, bauss wrote:

>

[snip]

No, my alias assumes the keywords are actually renamed and being deprecated.

Yours still rely on the old keywords existing.

Yeah. I just meant that he could have this feature now if he wanted to, no deprecation and renaming needed. (which you know, of course).

September 15, 2022

On Thursday, 15 September 2022 at 13:27:08 UTC, jmh530 wrote:

>

On Thursday, 15 September 2022 at 13:20:06 UTC, bauss wrote:

>

[snip]

No, my alias assumes the keywords are actually renamed and being deprecated.

Yours still rely on the old keywords existing.

Yeah. I just meant that he could have this feature now if he wanted to, no deprecation and renaming needed. (which you know, of course).

Yeah personally I have aliases like these now:

alias verysmallint = byte;
alias smallint = short;
alias normalint = int;
alias largeint = long;
alias megaint = cent;

(This is a joke.)