import vibe.http.client;
shared static this() {
	HTTPClient http = connectHTTP("", 8080);
	http.request((scope HTTPClientRequest req) {
	}, (scope HTTPClientResponse res) {
	});
}

When I compile the code above with dub --build=release, using DMD 2.0.67, the compiler error below will happen. This does not happen when I compile a debug build. I extracted the regex code from vibe.d and put it into a simpler .d, and it works fine.

Has anyone seen this before, and perhaps knows of a workaround?

Also, CowArray? :D

D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(3141): Error: integral constant must be scalar type, not void
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(3165): Error: this.data is not yet implemented at compile time
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(2074): called from here: (Intervals!(CowArray!(GcPolicy)) slInter3055 = Intervals(0u, 0u, CowArray(null));
,
slInter3055).this((CowArray!(GcPolicy) copytmp3056 = ref CowArray!(GcPolicy) this = copytmp3056 = this.data;
, !(ref CowArray!(GcPolicy) this = this;
, this.data.length == 0u) && (ref CowArray!(GcPolicy) this = this;
, (uint cnt = (ref CowArray!(GcPolicy) this = this;
, this.data[dollar - 1u]) + 1u;
) , this.data[
dollar - 1u] = cnt);
, copytmp3056))
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(1974): called from here: set.byInterval()
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(5909): called from here: (InversionList!(GcPolicy)
slInver4170 = InversionList(CowArray(null));
, slInver4170).this(asSet(cast(const(ubyte)[])tab()[cast(uint)idx].compressed))
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(5909): called from here: dest.opAssign((InversionList!(GcPolicy)
slInver4170 = InversionList(CowArray(null));
, slInver4170).this(asSet(cast(const(ubyte)[])tab()[cast(uint)idx].compressed)))
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(6008): called from here: loadUnicodeSet(name, target)
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(6222): called from here: loadProperty(name, set)
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(6115): called from here: loadAny("White_Space")
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\regex\internal\parser.d(1320): called from here: opDispatch()
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\regex\internal\parser.d(1320): called from here: this.charsetToIr(opDispatch())
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\regex\internal\parser.d(770): called from here: this.parseEscape()
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\regex\internal\parser.d(595): called from here: this.parseAtom()
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\regex\internal\parser.d(322): called from here: this.parseRegex()
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\regex\package.d(324): called from here: parser.this(pattern, flags)
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\regex\package.d(316): called from here: regexImpl(pattern, flags)
C:\Users\Marcio\AppData\Roaming\dub\packages\vibe-d-0.7.23\source\vibe\http\client.d(470): called from here: regex("^\\s*((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[
0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\\s*$", "")
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(3141): Error: integral constant must be scalar type, not void
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(3165): Error: this.data is not yet implemented at compile time
D:\Stuff\dmd2\windows\bin\..\..\src\phobos\std\uni.d(2074): called from here: (Intervals!(CowArray!(GcPolicy))
slInter3055 = Intervals(0u, 0u, CowArray(null));
, slInter3055).this((CowArray!(GcPolicy) copytmp3056 = ref CowArray!(GcPolicy) this = copytmp3056 = this.data;
, !(ref CowArray!(GcPolicy) this = this;
, this.data.length == 0u) && (ref CowArray!(GcPolicy) this = this;
, (uint cnt = (ref CowArray!(GcPolicy) this = this;
, this.data[
dollar - 1u]) + 1u;
) , this.data[dollar - 1u] = cnt);
,
copytmp3056))
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(1974): called from here: set.byInterval()
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(5909): called from here: (InversionList!(GcPolicy) slInver4170 = InversionList(CowArray(null));
,
slInver4170).this(asSet(cast(const(ubyte)[])tab()[cast(uint)idx].compressed))
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(5909): called from here: dest.opAssign((InversionList!(GcPolicy) slInver4170 = InversionList(CowArray(null));
,
slInver4170).this(asSet(cast(const(ubyte)[])tab()[cast(uint)idx].compressed)))
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(6008): called from here: loadUnicodeSet(name, target)
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(6222): called from here: loadProperty(name, set)
D:\Stuff\dmd2\windows\bin....\src\phobos\std\uni.d(6115): called from here: loadAny("White_Space")
D:\Stuff\dmd2\windows\bin....\src\phobos\std\regex\internal\parser.d(1320): called from here: opDispatch()
D:\Stuff\dmd2\windows\bin....\src\phobos\std\regex\internal\parser.d(1320): called from here: this.charsetToIr(opDispatch())
D:\Stuff\dmd2\windows\bin....\src\phobos\std\regex\internal\parser.d(770): called from here: this.parseEscape()
D:\Stuff\dmd2\windows\bin....\src\phobos\std\regex\internal\parser.d(595): called from here: this.parseAtom()
D:\Stuff\dmd2\windows\bin....\src\phobos\std\regex\internal\parser.d(322): called from here: this.parseRegex()
D:\Stuff\dmd2\windows\bin....\src\phobos\std\regex\package.d(324): called from here: parser.this(pattern, flags)
D:\Stuff\dmd2\windows\bin....\src\phobos\std\regex\package.d(316): called from here: regexImpl(pattern, flags)
C:\Users\Marcio\AppData\Roaming\dub\packages\vibe-d-0.7.23\source\vibe\http\client.d(471): called from here: regex("^\\s((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\
\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{
1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3
}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25
[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s
$", "")}