I am having a problem with regexes.
The following code causes a compilation error, whereas if I comment out the regex outside of main and comment in the regex inside main, it does compile.

I'm using DMD v2.058.

<code>
import std.regex;

Regex!(char) testRegex = regex("\\b(A(Z)?|B(Z)?|C(Z)?)\\b", "i");

void main() {
// Regex!(char) testRegex = regex("\\b(A(Z)?|B(Z)?|C(Z)?)\\b", "i");
}
</code>

The error is:

<code>
/usr/include/d/dmd/phobos/std/regex.d(2668): Error: assert(re.ir[t.pc].code() == cast(IR)130u) failed /usr/include/d/dmd/phobos/std/regex.d(2091): called from here: (Kickstart!(char) __ctmp1256 = 0;
 , __ctmp1256).this(this,new uint[](256u))
/usr/include/d/dmd/phobos/std/regex.d(2146): called from here: this.lightPostprocess() /usr/include/d/dmd/phobos/std/regex.d(1958): called from here: (Regex!(char) __ctmp1221 = 0;
 , __ctmp1221).this(this)
/usr/include/d/dmd/phobos/std/regex.d(6402): called from here: parser.program() regex_test.d(3): called from here: regex("\\b(A(Z)?|B(Z)?|C(Z)?)\\b","i")
</code>

Reply via email to