From 6dd5f57225a6193fc537a6f7e91f93f98895c77b Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:23:16 +0200 Subject: [PATCH 01/10] Make `write` test @safe --- std/file.d | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/std/file.d b/std/file.d index ae1568681..c8e2b8117 100644 --- a/std/file.d +++ b/std/file.d @@ -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 From 09e1f930438edb8422b3d0e52526d1c48f6d2a65 Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:24:49 +0200 Subject: [PATCH 02/10] Make `append` unittest @safe --- std/file.d | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/std/file.d b/std/file.d index c8e2b8117..9b3df84aa 100644 --- a/std/file.d +++ b/std/file.d @@ -797,7 +797,7 @@ if ((isInputRange!R && !isInfinite!R && isSomeChar!(ElementEncodingType!R) || is } /// -@system unittest +@safe unittest { scope(exit) { @@ -809,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 From 8573787e1c81989e062880061b9970035b83c875 Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:26:46 +0200 Subject: [PATCH 03/10] Make `gettimes` unittest @safe --- std/file.d | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/std/file.d b/std/file.d index 9b3df84aa..01e753f27 100644 --- a/std/file.d +++ b/std/file.d @@ -1307,7 +1307,7 @@ if (isConvertibleToString!R) static assert(__traits(compiles, getTimes(TestAliasedString("foo"), atime, mtime))); } -@system unittest +@safe unittest { import std.stdio : writefln; @@ -1316,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); From 88808733f87a4f2029b59dcfa24afb8e2d133697 Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:27:55 +0200 Subject: [PATCH 04/10] Make `setTimes` unittest @safe --- std/file.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/std/file.d b/std/file.d index 01e753f27..a80d524d1 100644 --- a/std/file.d +++ b/std/file.d @@ -1620,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"; From c2b6dbb0bba5114922e2da3e6c60f4fd17d16286 Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:29:17 +0200 Subject: [PATCH 05/10] Make `timeLastModified` unittest @safe --- std/file.d | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/std/file.d b/std/file.d index a80d524d1..794ba7f37 100644 --- a/std/file.d +++ b/std/file.d @@ -1889,7 +1889,7 @@ else version (Posix) version (FreeBSD) {} else version (DragonFlyBSD) {} else version (OSX) {} else -@system unittest +@safe unittest { import core.thread; @@ -1904,7 +1904,7 @@ version (OSX) {} else remove(deleteme); assert(time != lastTime); lastTime = time; - Thread.sleep(20.msecs); + () @trusted { Thread.sleep(20.msecs); }(); } } From cd16c4e74158e35de10dfcee64bfe932da13f2df Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:30:06 +0200 Subject: [PATCH 06/10] Make DirEntry unittest @safe --- std/file.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/std/file.d b/std/file.d index 794ba7f37..eb43b54a0 100644 --- a/std/file.d +++ b/std/file.d @@ -2407,7 +2407,7 @@ if (isConvertibleToString!R) } } -@system unittest +@safe unittest { version (Windows) enum dir = "C:\\Program Files\\"; From e1a1c286b274ab833bab841949f6094709c38cd8 Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:30:50 +0200 Subject: [PATCH 07/10] Make isFile unittest @safe --- std/file.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/std/file.d b/std/file.d index eb43b54a0..0498fc9c8 100644 --- a/std/file.d +++ b/std/file.d @@ -2558,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)))); From f13839de44a5e5212a538e84aa124d9a6b02f870 Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:34:33 +0200 Subject: [PATCH 08/10] Make unittest @safe --- std/file.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/std/file.d b/std/file.d index 0498fc9c8..046dbad7d 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; From 834ecfb609c4f49470c7e1b18ff4ad3a1749157d Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:35:37 +0200 Subject: [PATCH 09/10] Make mkdirRecurse unittest @safe --- std/file.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/std/file.d b/std/file.d index 046dbad7d..4d3a09d0d 100644 --- a/std/file.d +++ b/std/file.d @@ -3067,7 +3067,7 @@ void mkdirRecurse(scope const(char)[] pathname) @safe } /// -@system unittest +@safe unittest { import std.path : buildPath; From 771e5460b7af5df3f598366e73e7ecb1c21c43c4 Mon Sep 17 00:00:00 2001 From: Atila Neves Date: Mon, 10 May 2021 16:36:18 +0200 Subject: [PATCH 10/10] Make rmdir unittest @safe --- std/file.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/std/file.d b/std/file.d index 4d3a09d0d..a110bdb51 100644 --- a/std/file.d +++ b/std/file.d @@ -3192,7 +3192,7 @@ if (isConvertibleToString!R) } /// -@system unittest +@safe unittest { auto dir = deleteme ~ "dir";