dmd 2.063 beta 5

Walter Bright newshound2 at digitalmars.com
Sat May 25 14:07:24 PDT 2013


Pull request to do this: https://github.com/D-Programming-Language/dmd/pull/2076

On 5/23/2013 5:01 PM, Walter Bright wrote:
> On 5/23/2013 2:05 AM, Don wrote:
>> NO NO NO NO. I am violently opposed to this release.
>>
>> This beta contains the worst language misfeature of all time. It's silently
>> snuck in under the guise of a bugfix.
>
> Don has an excellent point. His case is bolstered by this causing Tango2 to fail
> to compile with error messages that have no obvious relationship with this change.
>
> Worse, as Don points out, this can result in silent breakage. Not everyone
> writes code that is 100% tested, and shipping code that no longer works would
> make someone justifiably very upset.
>
> The -transition=field detects such cases, but the user will not necessarily know
> to run it.
>
> So, I agree with Don. As it is, this is unacceptable, despite my agreement that
> it does make the language better. Therefore, I propose the following addition of
> a warning:
>
> ------------------------------
>     const int q = 5;
>
> Warning: const field with initializer should be static or enum.
> ------------------------------
>
> Over time, this can be upgraded to a deprecation and then an error.
>
> After a suitably long period of time as an error, then we can allow it with the
> new behavior.
>
>



More information about the Digitalmars-d-announce mailing list