diff --git a/.travis.yml b/.travis.yml index 325f3eb..76182e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ os: language: d d: + - dmd-2.078.0 - dmd-2.077.1 - dmd-2.076.1 @@ -21,7 +22,7 @@ addons: - gcc-multilib before_script: - - if [ "$PS1" = '(dmd-2.077.1)' ]; then + - if [ "$PS1" = '(dmd-2.078.0)' ]; then export UNITTEST="unittest-cov"; fi diff --git a/README.md b/README.md index 281f757..da4809c 100644 --- a/README.md +++ b/README.md @@ -149,7 +149,8 @@ There are more containers in the `tanya.container` package. | DMD | GCC | |:-------:|:--------------:| -| 2.077.0 | *gdc-5* branch | +| 2.078.0 | *gdc-5* branch | +| 2.077.1 | | | 2.076.1 | | ### Current status @@ -163,9 +164,7 @@ Following modules are under development: ### Release management -3-week release cycle. - -Deprecated features are removed after one release (in approximately 6 weeks after deprecating). +Deprecated features are removed after one release that includes these deprecations. ## Further characteristics diff --git a/appveyor.yml b/appveyor.yml index 57088ba..1206e78 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,6 +3,12 @@ os: Visual Studio 2015 environment: matrix: + - DC: dmd + DVersion: 2.078.0 + arch: x64 + - DC: dmd + DVersion: 2.078.0 + arch: x86 - DC: dmd DVersion: 2.077.1 arch: x64 diff --git a/source/tanya/container/string.d b/source/tanya/container/string.d index 73aab41..1b95cfd 100644 --- a/source/tanya/container/string.d +++ b/source/tanya/container/string.d @@ -264,7 +264,8 @@ if (is(Unqual!E == char)) body { dchar chr; - ubyte units, mask; + ubyte units; + int mask; const(char)* it = this.begin; if (*it & 0x80) diff --git a/source/tanya/math/mp.d b/source/tanya/math/mp.d index a045b25..f062c47 100644 --- a/source/tanya/math/mp.d +++ b/source/tanya/math/mp.d @@ -393,7 +393,9 @@ struct Integer T opCast(T)() const if (isIntegral!T && isSigned!T) { - return this.sign ? -(cast(Unsigned!T) this) : cast(Unsigned!T) this; + return this.sign + ? cast(T) -(cast(Promoted!(Unsigned!T)) (cast(Unsigned!T) this)) + : cast(Unsigned!T) this; } /// @@ -1072,7 +1074,7 @@ struct Integer assert(h1 == 79); h2 = ~h1; - assert(h2 == ~cast(ubyte) 79); + assert(h2 == cast(ubyte) ~79); } /// ditto