https://issues.dlang.org/show_bug.cgi?id=12100
--- Comment #9 from [email protected] --- (In reply to Andrej Mitrovic from comment #7) > Hmm.. I don't know about that. Really all I wanted was: > > auto a = __uniqueID; // "asdf01" > auto b = __uniqueID; // "asdf02" > > It's just something that's incremented internally, but this can only be done > during that compilation run. I'm not sure whether this would cause any > problems. > > DMD already has something like this that it uses internally, but at runtime > (of the DMD executable), Lexer::uniqueId. Yeah, but I'm saying that: //---- module mod_a; immutable a = __uniqueID; // "asdf01" //---- module mod_b; immutable b = __uniqueID; // "asdf??" //---- module main; import mod_a, mod_d; static assert(a != b); //---- dmd -c mod_a.d dmd -c mod_b.d dmd mod_d.o mod_b.o main.d Then a "simple" increment scheme won't work, since you'd have reset between two runs, and have created a duplicate. But I guess at this point, we agree on the final functionality. The rest is implementation detail. --
