__traits(documentation, X)

Steven Schveighoffer schveiguy at yahoo.com
Wed Jan 17 16:52:40 UTC 2018


On 1/16/18 10:59 PM, ketmar wrote:
> Steven Schveighoffer wrote:
> 
>> I shudder at the thought of compiled code being affected by 
>> documentation.
>>
>> I don't like it, sorry.
> 
> it's not really different from `version(DDoc)`, or string mixins, or 
> UDAs. i can put documentation in UDA, and process code differently when 
> UDA changes. yes, UDA is not a comment -- but it doesn't affect code 
> generation directly too. there is just no way to stop people from 
> writing abominations once we got metaprogramming. and adding artificial 
> limitations on that just makes people more inventive, but won't stop 
> infestation. ;-)

version(DDoc) is very different. It's a command line option passed to 
the build, and affecting the build with command line options is expected.

This proposal has comment *contents* affecting the build. The charter of 
comments is to NOT affect code, ever. They can be used to affect other 
systems, such as the ddoc generator, ide hints, etc., but you can be 
sure (?) that comments won't change code.

I think this is an important line not to cross.

One of the features promoted in this is to have the documentation be 
used for command-line help. I think it would be better to allow ddoc 
generation be affected by code rather than the other way around in this 
regard.

-Steve


More information about the Digitalmars-d mailing list