DIP 1003: remove `body` as a keyword
WM.H via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Thu Nov 24 07:29:41 PST 2016
On Saturday, 19 November 2016 at 21:16:15 UTC, Dicebot wrote:
> DIP 1003 is merged to the queue and open for public informal
> feedback.
>
> PR: https://github.com/dlang/DIPs/pull/48
> Initial merged document:
> https://github.com/dlang/DIPs/blob/master/DIPs/DIP1003.md
>
> If you want the change to be approved and have ideas how to
> improve it to better match on
> https://github.com/dlang/DIPs/blob/master/GUIDELINES.md and
> existing published reviews - please submit new PR with
> editorial and ping original author.
This DIP fixes the problem for "body" but not for the other
keywords. After all the problem may exist for other keywords. Was
a new pragma considered ? For example an identifier alias.
pragma(idAlias, "body", "body_" )
would mean that any "body_" will be treated as "body" identifier.
The translation would happen just after the grammatical parsing,
because at this phase keywords don't matter anymore.
example:
====
module module_;
pragma(idAlias, "function", "function_" );
pragma(idAlias, "module", "module_" )
int function_()
{
pragma(msg, __PRETTY_FUNCTION__);
return 0;
}
====
prints "int module.function()" during compilation.
More information about the Digitalmars-d-announce
mailing list