On Monday, 31 October 2016 at 01:27:08 UTC, Martin Nowak wrote:
Glad to announce D 2.072.0.

http://dlang.org/changelog/2.072.0.html

-Martin

I've run into a problem with code using ctRegex that fails to compile only in release build.

private immutable string TOC_LINE_PATTERN = `#{1,}\s*(?P<key>.*):\s*(?P<value>.*)`;

auto linePattern = ctRegex!(TOC_LINE_PATTERN);

Error:

/usr/include/dmd/phobos/std/uni.d(3133,13): Error: integral constant must be scalar type, not void /usr/include/dmd/phobos/std/functional.d-mixin-200(200,1): Error: __a.data is not yet implemented at compile time /usr/include/dmd/phobos/std/algorithm/searching.d(894,34): called from here: pred2(((InversionList!(GcPolicy) __copytmp4412 = (ref InversionList!(GcPolicy) this = __copytmp4412 = haystack[cast(ulong)i];) , ((ref CowArray!(GcPolicy) this = this.data;) , !((ref CowArray!(GcPolicy) this = this;) , this.data.length == 0LU) && ((ref CowArray!(GcPolicy) this = this;) , ((uint cnt = ((ref CowArray!(GcPolicy) this = this;) , this.data[__dollar - 1LU]) + 1u;)) , this.data[__dollar - 1LU] = cnt));) , __copytmp4412)) /usr/include/dmd/phobos/std/algorithm/searching.d(816,28): called from here: countUntil(haystack) /usr/include/dmd/phobos/std/regex/internal/parser.d(327,46): called from here: countUntil(this.charsets, ((InversionList!(GcPolicy) __copytmp4413 = (__copytmp4413 = set).__fieldPostblit();) , __copytmp4413)) /usr/include/dmd/phobos/std/regex/internal/parser.d(946,30): called from here: this.g.charsetToIr(set.add(10u, 11u).add(13u, 14u).inverted()) /usr/include/dmd/phobos/std/regex/internal/parser.d(858,26): called from here: this.parseAtom() /usr/include/dmd/phobos/std/regex/internal/parser.d(636,23): called from here: this.parseRegex() /usr/include/dmd/phobos/std/regex/package.d(378,61): called from here: parser.this(pattern, flags) /usr/include/dmd/phobos/std/regex/package.d(349,25): called from here: regexImpl(pat, flags) /usr/include/dmd/phobos/std/regex/package.d(357,17): called from here: regex([pattern], flags) /usr/include/dmd/phobos/std/regex/package.d(387,19): called from here: regex(TOC_LINE_PATTERN, []) /usr/include/dmd/phobos/std/regex/package.d(409,54): Error: template instance luaaddon.tocparser.TocParser.ctRegexImpl!(TOC_LINE_PATTERN, []) error instantiating ../libs/luaaddon/source/luaaddon/tocparser.d(31,22): instantiated from here: ctRegex!(TOC_LINE_PATTERN, [])

It compiles just fine in debug build.

Thanks!


Reply via email to