CTFE using of replaceAll from std.regex posible?
Martin Tschierschke via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Apr 12 05:00:27 PDT 2017
Hello,
when trying to process an string at compile time with
...
auto reg = ctRegex!`as\ [a-z]+`;
enum replaced = replaceAll(call,reg,"");
I get:
/usr/include/dmd/phobos/std/regex/package.d(708,34): Error:
malloc cannot be interpreted at compile time, because it has no
available source code
/usr/include/dmd/phobos/std/regex/package.d(708,27):
called from here: enforce(malloc(size), delegate const(char)[]()
=> "malloc failed",
"/usr/include/dmd/phobos/std/regex/package.d", 708LU)
/usr/include/dmd/phobos/std/regex/package.d(832,34):
called from here: ((RegexMatch!(string, BacktrackingMatcher)
__slRegex3165 = RegexMatch(BacktrackingMatcher(Regex(null, null,
null, 0u, 0u, 0u, 0u, 0u, null, null, null, ShiftOr(null, 0u,
0u)), null, Input(null, 0LU), 0LU, '\U0000ffff', false, 0u, 0u,
0LU, null, null, null, null), null, Captures(null, 0, null, , 0u,
0u, 0u, null), null);) , __slRegex3165).this(input, re)
/usr/include/dmd/phobos/std/regex/package.d(1049,48):
called from here: matchMany(input, re)
/usr/include/dmd/phobos/std/regex/package.d(906,26):
called from here: matchAll(input, re)
/usr/include/dmd/phobos/std/regex/package.d(1345,69):
called from here: replaceAllWith(input, re)
src/app.d(13,29): called from here: replaceAll(call, reg,
"")
It there a way to use "replaceAll" at compile time?
Regards mt.
More information about the Digitalmars-d-learn
mailing list