Please be more careful when changing the language behavior

Seb seb at wilzba.ch
Tue Jun 2 08:22:03 UTC 2020


On Tuesday, 2 June 2020 at 06:17:50 UTC, mw wrote:
> On Tuesday, 2 June 2020 at 05:32:08 UTC, Walter Bright wrote:
>> All I can say is you're right, and we handled this badly.
>>
>> alias this has a lot of problems, mainly because it tries to 
>> implement multiple inheritance without thinking it through. 
>> I've looked at fixing them, and essentially it is unfixable. 
>> We'll just have to live with the way it works, and shouldn't 
>> try to modify its behavior again.
>>
>> Changes to the compiler rely very heavily on the test suite. 
>> If cases aren't in the test suite, we don't know when break 
>> things.
>
> I've read industry users complaining about unstable compiler 
> breaking their existing code base in the past forum threads. I 
> think we need to take this seriously, otherwise D's community 
> will shrink over time.
>
> For the two issues you mentioned:
>
> 1) If we do not want to separate two compiler versions 
> (production 2.x vs development 3.x), then we better add some 
> client code base to the current compiler test suite:
>
> E.g. https://code.dlang.org/ has total 1808 packages. Given 
> some packages are no longer maintained, let's add the top 500 
> (or 1000) most recently updated packages to the compiler test 
> suite: make sure at least these top 500 can be compiled (weak 
> guarantee), and their `dub test` all pass (strong guarantee), 
> before making new compiler releases.


We're already doing the strong guarantee (dub test) continuously 
;-)
Check the buildkite.com/dlang or a buildkite link on any of the 
main D repos.
At the moment it's about 50 projects, but that's already a huge 
pain to maintain as some of these projects are hard to build, 
relied on network to test, had spurious failures due to 
randomness in the testsuite, rely on very specific OS features 
(or versions) and every now and then a new version is released 
which either introduces some of the above or just has an outright 
problem with the testsuite.


More information about the Digitalmars-d mailing list