On Wed, 28 Mar 2012 11:25:40 +0200, James Blewitt <j...@jblewitt.com> wrote:

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.

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");

The error is:

/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")

This newsgroup is read-only - don't know why it's allowed to post here. It's only meant as a bugzilla feed. Post bugs to http://d.puremagic.com/issues/, and ask questions in D.learn: http://forum.dlang.org/group/digitalmars.D.learn

Reply via email to