DMD needs branches

Chris Miller chris at dprogramming.com
Thu Apr 12 10:35:44 PDT 2007


On Wed, 11 Apr 2007 20:01:12 -0400, Walter Bright  
<newshound1 at digitalmars.com> wrote:

> Chris Miller wrote:
>> I know, I know, report bugs. This doesn't cut it. Reporting bugs is  
>> hard as hell and time consuming. I need time to report bugs. Now I have  
>> to either restrict use to specific compiler versions, which people  
>> don't always know about and report their issues back to me, until I  
>> remind them they need to downgrade their compiler (which isn't always  
>> an option if they need bug fixes), or I have to rush to fix my code to  
>> workaround such issues and report bugs. If there was a stable branch, I  
>> could get the code working with the unstable branch at a reasonable  
>> pace.
>
> Please let me know which issues are breaking your code. I'll be sure  
> they get in the test suite so they'll never break again.

Here's the major one: http://d.puremagic.com/issues/show_bug.cgi?id=1130 -  
but not much info.

The point is that my code worked on the previous DMD version, and now it  
doesn't compile. Not only this bug, but my code used "ref" as a variable  
name and had some variables declared after "final:" that weren't meant to  
have the new meaning of final. This code includes -v1 in the compile  
script.

Should -v1 not treat "ref" as a keyword? Even more painful, should -v1 not  
apply "final" to variables? Branching would make these easier.

Actually, once I got wind that "final" was applying to variables (even  
before the compiler release), I went through my code and tried exluding  
all my variables from final attributes and released such updated code, but  
obviously missed a couple.

I try to be speedy about making sure my code works that others might rely  
upon. In some cases so fast that I anticipate it and it's fixed before  
it's an issue, such as when I changed my public imports literally to  
include "public" way before import became private by default. However,  
without branches, this is all very much more difficult, especially when  
there's little I can do to ensure my code will still work.

Plus, not everyone is or tries to be so speedy about making sure their  
code works, so more and more broken code ends up out there, frustrating  
new and old D users.

Any slip up on your part makes it that much harder on those who maintain  
and distribute code. Of course branches don't fix everything, but it's  
about maximizing stability and reliability and minimizing potential issues.

- Chris



More information about the Digitalmars-d mailing list