From 15dff4daffe1db96136441e9aa40bb1489e02d87 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Tue, 18 Oct 2022 14:59:02 +0800 Subject: [PATCH] fixes niminst with stricteffects; add testcase for niminst (#20587) fixes niminst with stricteffects; add testcase --- tests/tools/compile/tniminst.nim | 5 +++++ tools/niminst/debcreation.nim | 4 ++++ tools/niminst/niminst.nim | 9 ++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 tests/tools/compile/tniminst.nim diff --git a/tests/tools/compile/tniminst.nim b/tests/tools/compile/tniminst.nim new file mode 100644 index 0000000000..78c736af00 --- /dev/null +++ b/tests/tools/compile/tniminst.nim @@ -0,0 +1,5 @@ +discard """ + action: compile +""" + +include tools/niminst/niminst \ No newline at end of file diff --git a/tools/niminst/debcreation.nim b/tools/niminst/debcreation.nim index d0f46fa528..219cb44cef 100644 --- a/tools/niminst/debcreation.nim +++ b/tools/niminst/debcreation.nim @@ -9,6 +9,10 @@ import osproc, times, os, strutils + +when defined(nimPreviewSlimSystem): + import std/[assertions, syncio] + # http://www.debian.org/doc/manuals/maint-guide/ # Required files for debhelper. diff --git a/tools/niminst/niminst.nim b/tools/niminst/niminst.nim index d81b98be9f..cd2e5a4810 100644 --- a/tools/niminst/niminst.nim +++ b/tools/niminst/niminst.nim @@ -11,6 +11,13 @@ import os, strutils, parseopt, parsecfg, strtabs, streams, debcreation, std / sha1 + +when defined(nimPreviewSlimSystem): + import std/syncio + +when not defined(nimHasEffectsOf): + {.pragma: effectsOf.} + const maxOS = 20 # max number of OSes maxCPU = 20 # max number of CPUs @@ -198,7 +205,7 @@ proc parseCmdLine(c: var ConfigData) = if c.infile.len == 0: quit(Usage) if c.mainfile.len == 0: c.mainfile = changeFileExt(c.infile, "nim") -proc eqT(a, b: string; t: proc (a: char): char{.nimcall.}): bool = +proc eqT(a, b: string; t: proc (a: char): char {.nimcall.}): bool {.effectsOf: t.} = ## equality under a transformation ``t``. candidate for the stdlib? var i = 0 var j = 0