Getting the results of a mixin doesn't seem to work if a function is used: mixin (mixinLuaRegisterFunction ("L", "simpleFunction", "mylib.func")); public static istring mixinLuaPushFunction (cstring lua_state, cstring name) { return cast(istring) (`mixin (mixinLuaPushFunctionAtLine ("` ~ lua_state ~ `", "` ~ name ~ `", __LINE__));`); }