summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2022-10-18 14:59:02 +0800
committerGitHub <noreply@github.com>2022-10-18 08:59:02 +0200
commit15dff4daffe1db96136441e9aa40bb1489e02d87 (patch)
treea04b592c2eaa1813edc47526ab97e71253f93076
parent81087c949f620dc80697364da414872791ffe23c (diff)
downloadNim-15dff4daffe1db96136441e9aa40bb1489e02d87.tar.gz
fixes niminst with stricteffects; add testcase for niminst (#20587)
fixes niminst with stricteffects; add testcase
-rw-r--r--tests/tools/compile/tniminst.nim5
-rw-r--r--tools/niminst/debcreation.nim4
-rw-r--r--tools/niminst/niminst.nim9
3 files changed, 17 insertions, 1 deletions
diff --git a/tests/tools/compile/tniminst.nim b/tests/tools/compile/tniminst.nim
new file mode 100644
index 000000000..78c736af0
--- /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 d0f46fa52..219cb44ce 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 d81b98be9..cd2e5a481 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