diff --git a/.travis.yml b/.travis.yml index 242a5f2..27652f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ os: language: d d: - - dmd-2.079.0 + - dmd-2.079.1 - dmd-2.078.3 - dmd-2.077.1 @@ -22,7 +22,7 @@ addons: - gcc-multilib before_script: - - if [ "`$DC --version | head -n 1 | grep 'v2.079.0'`" ]; then + - if [ "`$DC --version | head -n 1 | grep 'v2.079.1'`" ]; then export UNITTEST="unittest-cov"; fi diff --git a/README.md b/README.md index 3323942..aa3e6dd 100644 --- a/README.md +++ b/README.md @@ -172,10 +172,9 @@ parameter is used) | DMD | GCC | |:-------:|:---------:| -| 2.079.0 | *master* | +| 2.079.1 | *master* | | 2.078.3 | | | 2.077.1 | | -| 2.076.1 | | ### Current status diff --git a/appveyor.yml b/appveyor.yml index 3ea4384..dffdf85 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,10 +4,10 @@ os: Visual Studio 2015 environment: matrix: - DC: dmd - DVersion: 2.079.0 + DVersion: 2.079.1 arch: x64 - DC: dmd - DVersion: 2.079.0 + DVersion: 2.079.1 arch: x86 - DC: dmd DVersion: 2.078.3 @@ -21,12 +21,6 @@ environment: - DC: dmd DVersion: 2.077.1 arch: x86 - - DC: dmd - DVersion: 2.076.1 - arch: x64 - - DC: dmd - DVersion: 2.076.1 - arch: x86 skip_tags: true diff --git a/source/tanya/container/list.d b/source/tanya/container/list.d index 9a5beb7..c3202e2 100644 --- a/source/tanya/container/list.d +++ b/source/tanya/container/list.d @@ -156,7 +156,8 @@ struct SList(T) * init = Initial value to fill the list with. * allocator = Allocator. */ - this(const size_t len, T init, shared Allocator allocator = defaultAllocator) @trusted + this(size_t len, T init, shared Allocator allocator = defaultAllocator) + @trusted { this(allocator); if (len == 0) @@ -181,7 +182,7 @@ struct SList(T) } /// ditto - this(const size_t len, shared Allocator allocator = defaultAllocator) + this(size_t len, shared Allocator allocator = defaultAllocator) { this(len, T.init, allocator); } @@ -656,7 +657,7 @@ struct SList(T) * * Returns: The number of elements removed. */ - size_t removeFront(const size_t howMany) + size_t removeFront(size_t howMany) out (removed) { assert(removed <= howMany); @@ -1125,7 +1126,8 @@ struct DList(T) * init = Initial value to fill the list with. * allocator = Allocator. */ - this(const size_t len, T init, shared Allocator allocator = defaultAllocator) @trusted + this(size_t len, T init, shared Allocator allocator = defaultAllocator) + @trusted { this(allocator); if (len == 0) @@ -1153,7 +1155,7 @@ struct DList(T) } /// ditto - this(const size_t len, shared Allocator allocator = defaultAllocator) + this(size_t len, shared Allocator allocator = defaultAllocator) { this(len, T.init, allocator); } @@ -1910,7 +1912,7 @@ struct DList(T) { auto n = this.head.next; - this.allocator_.dispose(this.head); + allocator.dispose(this.head); this.head = n; if (this.head is null) { @@ -1983,7 +1985,7 @@ struct DList(T) * * Returns: The number of elements removed. */ - size_t removeFront(const size_t howMany) + size_t removeFront(size_t howMany) out (removed) { assert(removed <= howMany); @@ -2010,7 +2012,7 @@ struct DList(T) } /// ditto - size_t removeBack(const size_t howMany) + size_t removeBack(size_t howMany) out (removed) { assert(removed <= howMany); @@ -2070,11 +2072,7 @@ struct DList(T) while (e !is *tailNext) { auto next = e.next; - /* Workaround for dmd 2.076.1 bug on OSX. Invariants fail when - the allocator is called. Here it should be safe to use - allocator_ directory, since the list isn't empty. - See also removeFront. */ - this.allocator_.dispose(e); + allocator.dispose(e); e = next; }