https://issues.dlang.org/show_bug.cgi?id=21614
Iain Buclaw <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #1 from Iain Buclaw <[email protected]> --- Created attachment 1816 --> https://issues.dlang.org/attachment.cgi?id=1816&action=edit reduced testcase issue21614.d --- module issue21614; real logmdigammaInverse(real y) { import imports.issue21614a; findRoot(1 , y, 2); } --- imports/issue21414a.d --- module imports.issue21614a; template AliasSeq(TList...) { alias AliasSeq = TList; } uint formattedWrite(Writer, Char)(Writer , Char) { alias spec = FormatSpec!Char(); return 0; } struct FormatSpec(Char) { import imports.issue21614a; } template ElementEncodingType(R) { static if (is(R : E[], E)) alias ElementEncodingType = E; } struct Appender(A) { inout(ElementEncodingType!A)[] data() { return []; } } Appender!A appender(A)() { return Appender!A(); } immutable(Char)[] format(Char, Args)(Char[] fmt, Args) { auto w = appender!(Char[]); formattedWrite(w, fmt); return w.data; } template Tuple(Specs) { template parseSpecs(Specs) { alias parseSpecs = AliasSeq!FieldSpec; } template FieldSpec { } alias fieldSpecs = parseSpecs!Specs; string injectNamedFields() { foreach (i, name; fieldSpecs) format("%s", i); return ""; } struct Tuple { mixin(injectNamedFields); this() { } } } T findRoot(T, DF, DT)(DF f, T a, T b, DT tolerance) { findRoot(f, a, b, 0, 1, tolerance); } T findRoot(T, DF)(DF f, T a, T b) { findRoot(f, a, b, false); } Tuple!(T) findRoot(T, R, DF, DT)(DF , T , T , R , R , DT ) --- --
