commit
41f7357eb5
25
.travis.yml
25
.travis.yml
|
@ -9,16 +9,16 @@ d:
|
|||
# this way the overall test time gets cut down (GDC/LDC are a lot
|
||||
# slower tham DMD, so they should be started early), while still
|
||||
# catching most DMD version related build failures early
|
||||
- dmd-2.091.0
|
||||
- dmd-2.078.3
|
||||
- ldc-1.20.1
|
||||
- ldc-1.15.0
|
||||
- ldc-1.19.0
|
||||
- ldc-1.18.0
|
||||
- dmd-2.089.1
|
||||
- dmd-2.088.1
|
||||
- dmd-nightly
|
||||
- ldc-latest-ci
|
||||
- dmd-2.091.0,dub
|
||||
- dmd-2.078.3,dub
|
||||
- ldc-1.20.1,dub
|
||||
- ldc-1.15.0,dub
|
||||
- ldc-1.19.0,dub
|
||||
- ldc-1.18.0,dub
|
||||
- dmd-2.089.1,dub
|
||||
- dmd-2.088.1,dub
|
||||
- dmd-nightly,dub
|
||||
- ldc-latest-ci,dub
|
||||
|
||||
env:
|
||||
- CONFIG=select
|
||||
|
@ -54,11 +54,6 @@ branches:
|
|||
only:
|
||||
- master
|
||||
|
||||
before_install:
|
||||
- wget https://dlang.org/install.sh -O ~/dlang/install.dub.sh
|
||||
- . $(bash ~/dlang/install.dub.sh -a dub)
|
||||
- dub --version
|
||||
|
||||
script: ./travis-ci.sh
|
||||
|
||||
after_success:
|
||||
|
|
|
@ -17,7 +17,7 @@ The core package provides the low level I/O and concurrency primitives that are
|
|||
The fundamental building block is the fiber based task concept, together with the event based asynchronous I/O model. This enables developing highly scalable I/O concurrent applications without running into the complexities and design implications that asynchronous I/O programming models usually impose. See the [features page](https://vibed.org/features) for a more detailed explanation.
|
||||
|
||||
[![DUB Package](https://img.shields.io/dub/v/vibe-core.svg)](https://code.dlang.org/packages/vibe-core)
|
||||
[![Posix Build Status](https://travis-ci.org/vibe-d/vibe-core.svg?branch=master)](https://travis-ci.org/vibe-d/vibe-core)
|
||||
[![Posix Build Status](https://travis-ci.com/vibe-d/vibe-core.svg?branch=master)](https://travis-ci.com/vibe-d/vibe-core)
|
||||
[![Windows Build status](https://ci.appveyor.com/api/projects/status/eexephyroa7ag3xr/branch/master?svg=true)](https://ci.appveyor.com/project/s-ludwig/vibe-core/branch/master)
|
||||
|
||||
|
||||
|
|
|
@ -107,11 +107,11 @@ struct Channel(T, size_t buffer_size = 100) {
|
|||
*/
|
||||
bool consumeAll(ref FixedRingBuffer!(T, buffer_size) dst)
|
||||
in { assert(dst.empty); }
|
||||
body { return m_impl.consumeAll(dst); }
|
||||
do { return m_impl.consumeAll(dst); }
|
||||
/// ditto
|
||||
bool consumeAll(ref FixedRingBuffer!(T, buffer_size) dst) shared
|
||||
in { assert(dst.empty); }
|
||||
body { return m_impl.consumeAll(dst); }
|
||||
do { return m_impl.consumeAll(dst); }
|
||||
|
||||
/** Enqueues an element.
|
||||
|
||||
|
|
|
@ -505,7 +505,7 @@ private struct IsolatedArray(T)
|
|||
//assert(isSorted(indices), "Indices must be in ascending order.");
|
||||
assert(indices[$-1] <= m_array.length, "Splice index out of bounds.");
|
||||
}
|
||||
body {
|
||||
do {
|
||||
auto ret = new IsolatedArray!T[indices.length];
|
||||
size_t lidx = 0;
|
||||
foreach( i, sidx; indices ){
|
||||
|
@ -521,7 +521,7 @@ private struct IsolatedArray(T)
|
|||
assert(array.m_array.ptr == m_array.ptr+m_array.length || array.m_array.ptr+array.length == m_array.ptr,
|
||||
"Argument to merge() must be a neighbouring array partition.");
|
||||
}
|
||||
body {
|
||||
do {
|
||||
if( array.m_array.ptr == m_array.ptr + m_array.length ){
|
||||
m_array = m_array.ptr[0 .. m_array.length + array.length];
|
||||
} else {
|
||||
|
|
|
@ -1019,7 +1019,7 @@ nothrow {
|
|||
*/
|
||||
@property size_t workerThreadCount()
|
||||
out(count) { assert(count > 0, "No worker threads started after setupWorkerThreads!?"); }
|
||||
body {
|
||||
do {
|
||||
setupWorkerThreads();
|
||||
synchronized (st_threadsMutex)
|
||||
return st_workerPool.threadCount;
|
||||
|
@ -1253,7 +1253,7 @@ struct Timer {
|
|||
*/
|
||||
void rearm(Duration dur, bool periodic = false) nothrow
|
||||
in { assert(dur >= 0.seconds, "Negative timer duration specified."); }
|
||||
body { m_driver.timers.set(m_id, dur, periodic ? dur : 0.seconds); }
|
||||
do { m_driver.timers.set(m_id, dur, periodic ? dur : 0.seconds); }
|
||||
|
||||
/** Resets the timer and avoids any firing.
|
||||
*/
|
||||
|
|
|
@ -365,16 +365,16 @@ struct NetworkAddress {
|
|||
|
||||
@property inout(sockaddr_in)* sockAddrInet4() inout pure nothrow
|
||||
in { assert (family == AF_INET); }
|
||||
body { return &addr_ip4; }
|
||||
do { return &addr_ip4; }
|
||||
|
||||
@property inout(sockaddr_in6)* sockAddrInet6() inout pure nothrow
|
||||
in { assert (family == AF_INET6); }
|
||||
body { return &addr_ip6; }
|
||||
do { return &addr_ip6; }
|
||||
|
||||
version (Posix) {
|
||||
@property inout(sockaddr_un)* sockAddrUnix() inout pure nothrow
|
||||
in { assert (family == AddressFamily.UNIX); }
|
||||
body { return &addr_unix; }
|
||||
do { return &addr_unix; }
|
||||
}
|
||||
|
||||
/** Returns a string representation of the IP address
|
||||
|
|
|
@ -190,7 +190,7 @@ in {
|
|||
assert((cast(size_t) chunk.ptr) % T.alignof == 0,
|
||||
format("emplace: Misaligned memory block (0x%X): it must be %s-byte aligned for type %s", &chunk[0], T.alignof, T.stringof));
|
||||
|
||||
} body {
|
||||
} do {
|
||||
enum classSize = __traits(classInstanceSize, T);
|
||||
auto result = () @trusted { return cast(T) chunk.ptr; } ();
|
||||
|
||||
|
@ -226,7 +226,7 @@ in {
|
|||
assert((cast(size_t) chunk.ptr) % T.alignof == 0,
|
||||
format("emplace: Misaligned memory block (0x%X): it must be %s-byte aligned for type %s", &chunk[0], T.alignof, T.stringof));
|
||||
|
||||
} body {
|
||||
} do {
|
||||
return emplace(() @trusted { return cast(T*)chunk.ptr; } (), args);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue