To get to know DMD a bit more, I decided to implement __GENSYM__, as touched upon in Nordlöw's post on Units of Measurements[1].

My implementation uses the mangled name of the instantiation scope and an associated counter to create a unique string, and works great for template default parameters (which is where I imagine it would see use).

For completeness though, I wanted to make it work as a function default parameter as well. Looking at how __FILE__ and __LINE__ are implemented, they use only Loc, not Scope. Is it at all possible to get the calling scope for a function?

[1]: http://forum.dlang.org/post/[email protected]
_______________________________________________
dmd-internals mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-internals

Reply via email to