Der mixin
-Ausdruck nimmt einen beliebigen String,
kompiliert diesen und generiert dementsprechende
Befehle. Dies ist ein reiner Kompilierzeit-Mechanismus,
der nur mit Strings arbeitet, die während der Kompilierung
zur Verfügung stehen.
mixin("int b = 5");
assert(b == 5); // wird einwandfrei kompiliert
mixin
arbeitet auch mit Strings, die dynamisch erzeugt werden,
sofern die benötigten Informationen nicht auf Laufzeit-Werten
beruhen.
Die Kombination von mixin
und CTFE erlauben beeindruckende
Bibliotheken wie Pegged,
die einen Grammatik-Parser aus einer als String definierten
Grammatik im Quellcode erzeugt.