Hello !

Trying to compile vibed trunk with some dmd compilers I could compile with dmd/gdc 2.0.65 but not with dmd 2.0.66 and dmd trunk, see bellow the compiler messages (I'm using openssl-trunk).

Is this intentional ?

----dmd 2.0.66
source/vibe/core/concurrency.d:137: Error: semicolon expected following function declaration
source/vibe/core/concurrency.d:139: Error: Declaration expected, not 'assert'
source/vibe/core/concurrency.d:140: Error: Declaration expected, not 'assert'
source/vibe/core/concurrency.d:141: Error: unexpected ( in declarator
source/vibe/core/concurrency.d:141: Error: function declaration without return type. (Note that constructors are always named 'this')
source/vibe/core/concurrency.d:141: Error: no identifier for declarator dmonitorexit(getObject())
source/vibe/crypto/cryptorand.d:247: Error: members expected
source/vibe/crypto/cryptorand.d:247: Error: { } expected following aggregate declaration
source/vibe/crypto/cryptorand.d:247: Error: Declaration expected, not 'if'
source/vibe/crypto/cryptorand.d:304: Error: unrecognized declaration
source/vibe/data/serialization.d:199: Error: found ',' when expecting ')'
source/vibe/data/serialization.d:199: Error: found 'TPS' when expecting ')'
source/vibe/data/serialization.d:199: Error: found '...' instead of statement
source/vibe/data/serialization.d:202: Error: Declaration expected, not 'else'
source/vibe/data/serialization.d:204: Error: Declaration expected, not 'foreach'
source/vibe/data/serialization.d:204: Error: no identifier for declarator T.Types
source/vibe/data/serialization.d:204: Error: semicolon expected, not ')'
source/vibe/data/serialization.d:204: Error: Declaration expected, not ')'
source/vibe/data/serialization.d:206: Error: function declaration without return type. (Note that constructors are always named 'this')
source/vibe/data/serialization.d:206: Error: no identifier for declarator serializeImpl!(Serializer, TV, ATTRIBUTES)(serializer, value[i])
source/vibe/data/serialization.d:207: Error: function declaration without return type. (Note that constructors are always named 'this')

----dmd trunk (you can ignore opnssl messages)
source/openssl/deimos/openssl/ossltyp.d(209): Error: undefined identifier sslctxst
source/openssl/deimos/openssl/ssl.d(435): Error: ExternC!(extern (C) c
long function(SSLCTX* ctx, int cmd, clong larg, void parg)) had previous errors
source/openssl/deimos/openssl/ssl.d(447): Error: ExternC!(extern (C) c_long function(SSL_CTX
s, int cbid, ExternC!(extern (C) void function()) fp)) had previous errors
/mnt/sdb1/dev/c/d/src/install/bin/../../../phobos/std/container/array.d(432): Error: cannot implicitly convert expression ((inout inout(Range)
ctmp3330 = 0;
,
_ctmp3330).this(this, 0LU, this.length())) of type inout(Range) to Range
source/vibe/core/drivers/timerqueue.d(29): while looking for match for BinaryHeap!(Array!(TimeoutEntry), "a.timeout > b.timeout")
source/vibe/core/drivers/libevent2.d(75): Error: template instance vibe.core.drivers.timerqueue.TimerQueue!(TimerInfo, 10000L) error instantiating

Cheers !