diff --git a/std/file.d b/std/file.d index ae1568681..a110bdb51 100644 --- a/std/file.d +++ b/std/file.d @@ -629,7 +629,7 @@ if (isSomeString!S && (isInputRange!R && !isInfinite!R && isSomeChar!(ElementTyp static assert(__traits(compiles, readText(TestAliasedString(null)))); } -@system unittest +@safe unittest { import std.array : appender; import std.bitmanip : append, Endian; @@ -748,7 +748,7 @@ if ((isInputRange!R && !isInfinite!R && isSomeChar!(ElementEncodingType!R) || is } /// -@system unittest +@safe unittest { scope(exit) { @@ -758,7 +758,9 @@ if ((isInputRange!R && !isInfinite!R && isSomeChar!(ElementEncodingType!R) || is int[] a = [ 0, 1, 1, 2, 3, 5, 8 ]; write(deleteme, a); // deleteme is the name of a temporary file - assert(cast(int[]) read(deleteme) == a); + const bytes = read(deleteme); + const fileInts = () @trusted { return cast(int[]) bytes; }(); + assert(fileInts == a); } /// ditto @@ -795,7 +797,7 @@ if ((isInputRange!R && !isInfinite!R && isSomeChar!(ElementEncodingType!R) || is } /// -@system unittest +@safe unittest { scope(exit) { @@ -807,7 +809,9 @@ if ((isInputRange!R && !isInfinite!R && isSomeChar!(ElementEncodingType!R) || is write(deleteme, a); // deleteme is the name of a temporary file int[] b = [ 13, 21 ]; append(deleteme, b); - assert(cast(int[]) read(deleteme) == a ~ b); + const bytes = read(deleteme); + const fileInts = () @trusted { return cast(int[]) bytes; }(); + assert(fileInts == a ~ b); } /// ditto @@ -1303,7 +1307,7 @@ if (isConvertibleToString!R) static assert(__traits(compiles, getTimes(TestAliasedString("foo"), atime, mtime))); } -@system unittest +@safe unittest { import std.stdio : writefln; @@ -1312,8 +1316,8 @@ if (isConvertibleToString!R) write(deleteme, "a"); scope(exit) assert(deleteme.exists), deleteme.remove; - SysTime accessTime1 = void; - SysTime modificationTime1 = void; + SysTime accessTime1; + SysTime modificationTime1; getTimes(deleteme, accessTime1, modificationTime1); @@ -1616,7 +1620,7 @@ private void setTimesImpl(scope const(char)[] names, scope const(FSChar)* namez, setTimes(TestAliasedString("foo"), SysTime.init, SysTime.init); } -@system unittest +@safe unittest { import std.stdio : File; string newdir = deleteme ~ r".dir"; @@ -1885,7 +1889,7 @@ else version (Posix) version (FreeBSD) {} else version (DragonFlyBSD) {} else version (OSX) {} else -@system unittest +@safe unittest { import core.thread; @@ -1900,7 +1904,7 @@ version (OSX) {} else remove(deleteme); assert(time != lastTime); lastTime = time; - Thread.sleep(20.msecs); + () @trusted { Thread.sleep(20.msecs); }(); } } @@ -2403,7 +2407,7 @@ if (isConvertibleToString!R) } } -@system unittest +@safe unittest { version (Windows) enum dir = "C:\\Program Files\\"; @@ -2554,7 +2558,7 @@ if (isConvertibleToString!R) } // https://issues.dlang.org/show_bug.cgi?id=15658 -@system unittest +@safe unittest { DirEntry e = DirEntry("."); static assert(is(typeof(isFile(e)))); @@ -3063,7 +3067,7 @@ void mkdirRecurse(scope const(char)[] pathname) @safe } /// -@system unittest +@safe unittest { import std.path : buildPath; @@ -3188,7 +3192,7 @@ if (isConvertibleToString!R) } /// -@system unittest +@safe unittest { auto dir = deleteme ~ "dir";