Thanks, the exact example is exceptions. Was working really late the day that it wasn't working :D my bad. The following is what I was after, which I really thought I had tried.

class BaseException : Exception {
    this(string s="", string file = __FILE__, int line = __LINE__) {
        super(s, file, line);
    }
}


On Wed, Sep 4, 2013 at 11:33 AM, Dicebot <public@dicebot.lv> wrote:
On Wednesday, 4 September 2013 at 09:23:44 UTC, Rory McGuire wrote:
thanks, yes, I just found that in TDPL. knew it was templates but forgot
about template mixins.

Do you know how to get a default parameter like __MODULE__ or __LINE__ to
be used from the calling site?
I've tried but I think my DMD is broken because it doesn't even work when I
subclass Exception().

Special tokens like __LINE__ in default parameters are evaluated at the call site: http://dpaste.dzfl.pl/f7b9dfcf

It does not help though, because you don't need __MODULE__ of the call site, you need list of modules it has imported in exact call scope.