Is this a std.regex bug?

Dmitry Olshansky dmitry.olsh at gmail.com
Wed Aug 8 09:50:18 PDT 2012


On 08-Aug-12 11:28, Andrea Fontana wrote:
>
> import std.regex;
> void main() {
>      auto r = ctRegex!(r"/a/b/(c|d|e|f)", "g");
> }
>
> This simple app fails at compile time.
( it's not that simple ;) )

But it's "been there, seen that". In short:

> assert(this.ir[cast(ulong)orStart].code() == cast(IR)129u) failed

> assert(this.ir[cast(ulong)orStart].code() == cast(IR)129u) failed

A well known problem search Bugzilla with cast(IR)129u and you'd find 
it. Or just ctRegex.

And that's something I need to ping Don about. CTFE is still not 1:1 
with normal D.

>
> Il giorno mar, 07/08/2012 alle 19.53 +0400, Dmitry Olshansky ha scritto:
>> On 07-Aug-12 16:06, Andrea Fontana wrote:
>> > dmd 2.060 64bit ubuntu:
>> >
>> > // Doesn't work:
>> > auto r = ctRegex!(r"/api/places/(id|related|search|count)\.(json|xml)",
>> > "g");
>> >
>>
>> Could be. It is experimental and is known to have bugs.
>> What is the exact problem statement?
>>
>> > // Works:
>> > auto r = regex(r"/api/places/(id|related|search|count)\.(json|xml)", "g");
>> >
>> >
>>
>>
>


-- 
Dmitry Olshansky


More information about the Digitalmars-d-learn mailing list