https://issues.dlang.org/show_bug.cgi?id=13306
Issue ID: 13306
Summary: ctRegex compilation fails if an alternative pattern is
specified inside a group
Product: D
Version: D2
Hardware: x86
OS: Windows
Status: NEW
Severity: normal
Priority: P1
Component: Phobos
Assignee: [email protected]
Reporter: [email protected]
This little sample code can't get compiled if the ctRegex! version is used (DMD
2.065):
=====*=====*=====*=====*=====*=====*=====*=====*
import std.stdio;
import std.regex;
void main() {
auto s0 =
`url:"http://download.microsoft.com/download/Windows8.1-KB000000.msu"`;
auto s1 =
`url:"http://download.microsoft.com/download/Windows8.1-KB000000.exe"`;
//~ C:\Bin\DMD2\windows\bin\..\..\src\phobos\std\regex.d-mixin-5885(6214):
Error: found 'else' instead of statement
//~ auto rx =
ctRegex!(`url:"(http://download.microsoft.com/download.+?(msu|exe))"`);
// This works fine as expected, instead...
auto rx =
regex(`url:"(http://download.microsoft.com/download.+?(msu|exe))"`);
writeln(match(s0, rx).empty());
writeln(match(s1, rx).empty());
}
=====*=====*=====*=====*=====*=====*=====*=====*
--