[Dlang-internal] RFC: DIP draft for "Compiler-defined Attribute Consistency"

Dennis dkorpel at gmail.com
Mon Jul 12 23:38:56 UTC 2021


On Monday, 12 July 2021 at 22:20:04 UTC, Rune Morling wrote:
> Comments very welcome.

In Description:

> This could be achieved via suitable aliases.

I don't get this sentence, it sounds like `alias @pure = pure` 
but that's not how dmd works. I think you can scrap it without 
losing anything.

> Keywords that are only attributes (i.e. they are not also 
> storage classes or type constructors) will be need to be 
> deprecated.

You can be specific here: "`pure` and `nothrow` need to be 
deprecated".
Also this is not true, the DIP can explore the possibility of 
making the keywords undocumented but still have their function.

> To aid in this transition a tool could be constructed on top of 
> the lexer contained in the D-Scanner project

Find and replace also does the job, you just need to watch for a 
few false positives in comments and string literals where 'pure' 
is used as an adjective instead of referring to `@pure`. Such 
occurrences need manual review anyway, employing D-scanner 
doesn't help there.

> Various documentation (including the Dlang tour) will need to 
> be updated to reflect this change.

That speaks for itself.



More information about the Dlang-internal mailing list