diff --git a/src/core/demangle.d b/src/core/demangle.d index f5c412a41e..451292eddd 100644 --- a/src/core/demangle.d +++ b/src/core/demangle.d @@ -2416,7 +2416,7 @@ else version (Darwin) else enum string cPrefix = ""; -version (unittest) +@safe pure nothrow unittest { immutable string[2][] table = [ @@ -2544,9 +2544,6 @@ version (unittest) else alias staticIota = Seq!(staticIota!(x - 1), x - 1); } -} -@safe pure nothrow unittest -{ foreach ( i, name; table ) { auto r = demangle( name[0] ); diff --git a/src/core/internal/convert.d b/src/core/internal/convert.d index 9a3889079c..7bbef4daff 100644 --- a/src/core/internal/convert.d +++ b/src/core/internal/convert.d @@ -465,14 +465,14 @@ private Float denormalizedMantissa(T)(T x, uint sign) if (floatFormat!T == Float return Float(fl.mantissa2 & 0x00FFFFFFFFFFFFFFUL , 0, sign, 1); } -version (unittest) +@system unittest { - private const(ubyte)[] toUbyte2(T)(T val) + static const(ubyte)[] toUbyte2(T)(T val) { return toUbyte(val).dup; } - private void testNumberConvert(string v)() + static void testNumberConvert(string v)() { enum ctval = mixin(v); @@ -488,7 +488,7 @@ version (unittest) assert(rtbytes[0..testsize] == ctbytes[0..testsize]); } - private void testConvert() + static void testConvert() { /**Test special values*/ testNumberConvert!("-float.infinity"); @@ -598,11 +598,7 @@ version (unittest) testNumberConvert!("cast(float)0x9.54bb0d88806f714p-7088L"); } - - unittest - { - testConvert(); - } + testConvert(); } diff --git a/src/core/lifetime.d b/src/core/lifetime.d index 93b562cd73..ece88b9d54 100644 --- a/src/core/lifetime.d +++ b/src/core/lifetime.d @@ -239,6 +239,21 @@ T emplace(T, Args...)(void[] chunk, auto ref Args args) @nogc pure nothrow @safe unittest { + static class __conv_EmplaceTestClass + { + int i = 3; + this(int i) @nogc @safe pure nothrow + { + assert(this.i == 3 && i == 5); + this.i = i; + } + this(int i, ref int j) @nogc @safe pure nothrow + { + assert(i == 5 && j == 6); + this.i = i; + ++j; + } + } int var = 6; align(__conv_EmplaceTestClass.alignof) ubyte[__traits(classInstanceSize, __conv_EmplaceTestClass)] buf; auto support = (() @trusted => cast(__conv_EmplaceTestClass)(buf.ptr))(); @@ -306,43 +321,6 @@ T* emplace(T, Args...)(void[] chunk, auto ref Args args) assert(u1.a == "hello"); } -version (unittest) private struct __conv_EmplaceTest -{ - int i = 3; - this(int i) - { - assert(this.i == 3 && i == 5); - this.i = i; - } - this(int i, ref int j) - { - assert(i == 5 && j == 6); - this.i = i; - ++j; - } - -@disable: - this(); - this(this); - void opAssign(); -} - -version (unittest) private class __conv_EmplaceTestClass -{ - int i = 3; - this(int i) @nogc @safe pure nothrow - { - assert(this.i == 3 && i == 5); - this.i = i; - } - this(int i, ref int j) @nogc @safe pure nothrow - { - assert(i == 5 && j == 6); - this.i = i; - ++j; - } -} - @system unittest // bugzilla 15772 { abstract class Foo {} @@ -476,17 +454,40 @@ version (unittest) private class __conv_EmplaceTestClass @system unittest { + static struct __conv_EmplaceTest + { + int i = 3; + this(int i) + { + assert(this.i == 3 && i == 5); + this.i = i; + } + this(int i, ref int j) + { + assert(i == 5 && j == 6); + this.i = i; + ++j; + } + + @disable: + this(); + this(this); + void opAssign(); + } + __conv_EmplaceTest k = void; emplace(&k, 5); assert(k.i == 5); -} -@system unittest -{ int var = 6; - __conv_EmplaceTest k = void; - emplace(&k, 5, var); - assert(k.i == 5); + __conv_EmplaceTest x = void; + emplace(&x, 5, var); + assert(x.i == 5); + assert(var == 7); + + var = 6; + auto z = emplace!__conv_EmplaceTest(new void[__conv_EmplaceTest.sizeof], 5, var); + assert(z.i == 5); assert(var == 7); } @@ -1162,14 +1163,6 @@ pure nothrow @safe /* @nogc */ unittest assert(n.refs == 10); } -@system unittest -{ - int var = 6; - auto k = emplace!__conv_EmplaceTest(new void[__conv_EmplaceTest.sizeof], 5, var); - assert(k.i == 5); - assert(var == 7); -} - @system unittest { class A