[dmd-internals] Implementation change without matching spec change

Mathias Lang via dmd-internals dmd-internals at puremagic.com
Fri Jun 24 10:05:30 PDT 2016


I'm fine with filling them as issues as well, but the main point here is 
that taking care of the spec should not be dealt with after the change, 
but should be part of the criteria for the P.R. to get in, or it will 
simply be forgotten.

On 06/24/2016 08:14 AM, Walter Bright via dmd-internals wrote:
> All such issues should be files as bugzilla entries and marked with 
> the 'spec' keyword.
>
> On 6/23/2016 4:55 PM, Mathias Lang via dmd-internals wrote:
>> Hi everyone,
>> A problem that recently became obviously painful to me is that too 
>> many P.R.
>> goes in in DMD without the matching dlang.org specs change.
>>
>> I'll give some examples:
>>
>> - The changes to protection attributes (visibility attributes).
>>   It was a major change to the language, one that was wanted for a 
>> long time,
>> and it was
>>   done quite gracefully except that it wasn't documented at all.
>>   So anyone looking at 
>> https://dlang.org/spec/attribute.html#ProtectionAttribute
>> will see completely outdated informations, including "Protection does 
>> not
>> participate in name lookup." (gasp!).
>>   An issue was raised ( 
>> https://issues.dlang.org/show_bug.cgi?id=16004 ) and a
>> P.R. ( https://github.com/dlang/dlang.org/pull/1325 ) which haven't 
>> been merged
>> yet. The changes have been in for 3,5 months and released since 2.5 
>> months.
>>
>> - extern(C++, {class,struct}) : 
>> https://github.com/dlang/dmd/pull/5875 is not
>> documented.
>>   The same happened for most of the C++ enhancements, and the 
>> documentation only
>> recently caught up with the implementation.
>>
>> - version (PlayStation) & PlayStation4 
>> (https://github.com/dlang/dmd/pull/5850)
>> are not documented as reserved
>>
>> - All the `@safe` improvements are going in without any documentation 
>> change,
>> and Walter said he's going to review @safe specs (
>> https://github.com/dlang/dmd/pull/5876#issuecomment-226985430 ), 
>> however stuff
>> like this are easily forgotten, especially when there is no deadline 
>> and it is
>> assigned to someone as busy as Walter.
>>
>> - (Not yet merged) align(n) with CT-known constant:
>> https://github.com/dlang/dmd/pull/5880
>>
>> - Last but not least: https://github.com/dlang/dlang.org/pull/1040
>>
>> It seems pretty clear that we currently have a flakey process 
>> regarding spec
>> changes, one that doesn't scale and rely on the core contributors 
>> knowing "what
>> to do".
>>
>> Hence, I would suggest we start enforcing that every change that 
>> require a spec
>> change must not be merged before a corresponding spec change is raised.
>>
>> Basically:
>> - Raise dlang.org P.R. and mark as being `[Pending]`
>> - Raise DMD P.R. and link to said dlang.org P.R.
>> - DMD P.R. is reviewed / merged
>> - dlang.org P.R. can then be unblocked and be reviewed
>>
>> Thoughts ?
>> _______________________________________________
>> dmd-internals mailing list
>> dmd-internals at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-internals
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals



More information about the dmd-internals mailing list