Comment #0 by yxcvbasdfgqwert02 — 2014-05-08T06:30:49Z
Created attachment 1356
Source code for test case
The bad regular expression "[[a-z]([a-z]|(([[a-z])))" seems to run an unexpected execution path during regular expression compilation which ended up in a segmentation fault (if compiled with -release) or an assertion failure (if not).
Verified with dmd 2.065 and ldc2-0.12-1 (the latter causes an 'illegal instruction' crash if compiled with -release).
Instead of crashing, the bad expression should be rejected with a proper exception like "wrong character class" (as for other syntactically wrong expressions).
Note: the terms "[[a-z]" were intended to be "[\\[a-z]".