At least two of the functions in std.regex that ought to be usable in a pure context aren't. I suspect there's a broader issue with that subsystem, but haven't investigated.
---------
module bugregex;
string unifyNewLine(string str) pure
{
import std.regex;
return std.regex.replace(str, regex(`\r
|\r|
`, "g"), "
");
}
---------
$ dmd -c -ofbugregex.o bugregex.d
bugregex.d(7): Error: pure function 'bugregex.unifyNewLine' cannot call impure function 'std.regex.regex!string.regex'
bugregex.d(7): Error: pure function 'bugregex.unifyNewLine' cannot call impure function 'std.regex.replace!(match, string, char, Regex!char).replace'
braddr (braddr) reported this on 2017-05-27T07:30:09Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=17442
CC List
Description