anyone knows how to print __FUNCTION__ in D? and __LINE__

renoX renosky at
Fri Feb 23 07:49:49 PST 2007

BCS Wrote:
> davidl wrote:
> > 
> > in c we can print __FUNCTION__ __LINE__ to indicate where we are. in D 
> > how  to do, couldn't find.....
> I use:
> __FILE__":"~itoa!(__LINE__)
> writef(...)	// at run time
> pragma(msg, ...)// at compile time
> Not quite as useful but close.

I disagree about the 'close' part: in C, you wrap __FILE__ or __LINE__ in a macro, so you have the value of the call site, in D if you put them in a default argument or in a template you have the current value, not the call site which is nearly useless..

So let's not beat around the bush, this is an area where (AFAIK) C is superior to D..


More information about the Digitalmars-d-learn mailing list