diff --git a/.travis.yml b/.travis.yml index f32e263..0f0858f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,18 +85,18 @@ jobs: - BUILD_TOOL='dub' allow_failures: - d: dmd-nightly - - d: dmd - env: - - COVERAGE=false - - BUILD_TOOL='dub' - - d: dmd - env: - - COVERAGE=false - - BUILD_TOOL='meson' - - d: ldc - env: - - COVERAGE=false - - BUILD_TOOL='dub' +# - d: dmd +# env: +# - COVERAGE=false +# - BUILD_TOOL='dub' +# - d: dmd +# env: +# - COVERAGE=false +# - BUILD_TOOL='meson' +# - d: ldc +# env: +# - COVERAGE=false +# - BUILD_TOOL='dub' before_deploy: - | diff --git a/src/std/io/driver/package.d b/src/std/io/driver/package.d index 1855e24..b660265 100644 --- a/src/std/io/driver/package.d +++ b/src/std/io/driver/package.d @@ -240,7 +240,9 @@ interface Driver auto d = atomicLoad!(MemoryOrder.raw)(_globalDriver); if (d is null) { - cas(&_globalDriver, null, *cast(shared(Driver)*) &_syncDriver); + // PHOBOS/COMPILER BUG: we need to insert unneccessary casts here + // see https://issues.dlang.org/show_bug.cgi?id=20359 + cas(&_globalDriver, cast(shared(Driver))null, *cast(shared(Driver)*) &_syncDriver); d = atomicLoad!(MemoryOrder.raw)(_globalDriver); } static if (__VERSION__ < 2077)