I think the pattern should be interpreted as CharacterClass('a', Range('-', 'b')), but currently it is interpreted as CharacterClass(Difference('a', 'b')): --- string pattern = `[a\--b]`; assert(match("-", pattern)); assert(match("b", pattern)); --- This also applies to the other set operators ("||", "&&", "~~").
https://github.com/D-Programming-Language/phobos/pull/377
Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/e859e40a1720c4504e3574566476f00f23130234 Merge pull request #377 from NilsBossung/bugzilla7141 fix bugzilla issue 7141