On Sun, 14 Jun 2009 17:29:21 +0400, grauzone <n...@example.net> wrote:

Jarrett Billingsley wrote:
On Sat, Jun 13, 2009 at 9:46 PM, zsxxsz<zhengshu...@hexun.com> wrote:
It's good. But I think it should be implement by the DMD compiler, just like __FILE__ and __LINE__. __FUNCTION__ should be the base D language syntax same as __FILE__, __LINE__, in C99, they're all the compiler's things to get these and the
compiler do these more easily than any library.

 I completely agree, but Walter and Andrei's argument against it is -
where does it end?  Do we need __PACKAGE__, __MODULE__, __TYPE__,
__TEMPLATE__, etc. etc. etc.?  And I agree with them too - but you

All we need is a __HERE__, which expands into a struct literal that provides module, filename, etc. fields. It even can be linked to the next enclosing scope to walk upwards nested functions and types.

__FILE__ becomes __HERE__.filename,
__LINE__ becomes __HERE__.line


IIRC, it was previously proposed it as __SCOPE__

Reply via email to