summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/core/macros.nim4
-rw-r--r--lib/pure/algorithm.nim4
-rw-r--r--lib/pure/browsers.nim3
-rw-r--r--lib/pure/collections/hashcommon.nim4
-rw-r--r--lib/pure/collections/sequtils.nim4
-rw-r--r--lib/pure/hashes.nim4
-rw-r--r--lib/pure/json.nim2
-rw-r--r--lib/pure/lexbase.nim3
-rw-r--r--lib/pure/math.nim4
-rw-r--r--lib/pure/options.nim4
-rw-r--r--lib/pure/os.nim2
-rw-r--r--lib/pure/osproc.nim4
-rw-r--r--lib/pure/parsejson.nim3
-rw-r--r--lib/pure/streamwrapper.nim4
-rw-r--r--lib/pure/strformat.nim4
-rw-r--r--lib/pure/strtabs.nim4
-rw-r--r--lib/pure/strutils.nim3
-rw-r--r--lib/pure/terminal.nim2
-rw-r--r--lib/pure/times.nim4
-rw-r--r--lib/pure/typetraits.nim4
-rw-r--r--lib/std/assertions.nim (renamed from lib/system/assertions.nim)14
-rw-r--r--lib/std/enumutils.nim4
-rw-r--r--lib/std/jsonutils.nim3
-rw-r--r--lib/std/packedsets.nim3
-rw-r--r--lib/std/private/globs.nim4
-rw-r--r--lib/std/sha1.nim3
-rw-r--r--lib/system.nim7
-rw-r--r--lib/system/dragonbox.nim2
-rw-r--r--lib/system/formatfloat.nim3
-rw-r--r--lib/system/iterators.nim3
-rw-r--r--lib/system/schubfach.nim3
31 files changed, 110 insertions, 9 deletions
diff --git a/lib/core/macros.nim b/lib/core/macros.nim
index 4d040cebc..f20ca9385 100644
--- a/lib/core/macros.nim
+++ b/lib/core/macros.nim
@@ -10,6 +10,10 @@
 include "system/inclrtl"
 import std/private/since
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 ## This module contains the interface to the compiler's abstract syntax
 ## tree (`AST`:idx:). Macros operate on this tree.
 ##
diff --git a/lib/pure/algorithm.nim b/lib/pure/algorithm.nim
index 1ddcc9843..c43545f78 100644
--- a/lib/pure/algorithm.nim
+++ b/lib/pure/algorithm.nim
@@ -44,6 +44,10 @@ runnableExamples:
 
 import std/private/since
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 type
   SortOrder* = enum
     Descending, Ascending
diff --git a/lib/pure/browsers.nim b/lib/pure/browsers.nim
index 08f5208d2..c36e31b11 100644
--- a/lib/pure/browsers.nim
+++ b/lib/pure/browsers.nim
@@ -16,6 +16,9 @@ import std/private/since
 
 import strutils
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 when defined(windows):
   import winlean
   from os import absolutePath
diff --git a/lib/pure/collections/hashcommon.nim b/lib/pure/collections/hashcommon.nim
index a169418ce..deff8fa21 100644
--- a/lib/pure/collections/hashcommon.nim
+++ b/lib/pure/collections/hashcommon.nim
@@ -10,6 +10,10 @@
 # An `include` file which contains common code for
 # hash sets and tables.
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 const
   growthFactor = 2
 
diff --git a/lib/pure/collections/sequtils.nim b/lib/pure/collections/sequtils.nim
index 64a7be7a9..5e9b492c2 100644
--- a/lib/pure/collections/sequtils.nim
+++ b/lib/pure/collections/sequtils.nim
@@ -84,6 +84,10 @@ import std/private/since
 
 import macros
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 when defined(nimHasEffectsOf):
   {.experimental: "strictEffects".}
 else:
diff --git a/lib/pure/hashes.nim b/lib/pure/hashes.nim
index 47dacec7d..e88210757 100644
--- a/lib/pure/hashes.nim
+++ b/lib/pure/hashes.nim
@@ -67,6 +67,10 @@ runnableExamples:
 
 import std/private/since
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 type
   Hash* = int ## A hash value. Hash tables using these values should
               ## always have a size of a power of two so they can use the `and`
diff --git a/lib/pure/json.nim b/lib/pure/json.nim
index bdc9fe5ab..dd9232ea6 100644
--- a/lib/pure/json.nim
+++ b/lib/pure/json.nim
@@ -165,7 +165,7 @@ import options # xxx remove this dependency using same approach as https://githu
 import std/private/since
 
 when defined(nimPreviewSlimSystem):
-  import std/syncio
+  import std/[syncio, assertions]
 
 export
   tables.`$`
diff --git a/lib/pure/lexbase.nim b/lib/pure/lexbase.nim
index bbc0a38ae..336a57ec1 100644
--- a/lib/pure/lexbase.nim
+++ b/lib/pure/lexbase.nim
@@ -14,6 +14,9 @@
 import
   strutils, streams
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 const
   EndOfFile* = '\0' ## end of file marker
   NewLines* = {'\c', '\L'}
diff --git a/lib/pure/math.nim b/lib/pure/math.nim
index 1c47258bc..15324f882 100644
--- a/lib/pure/math.nim
+++ b/lib/pure/math.nim
@@ -60,6 +60,10 @@ import std/private/since
 
 import bitops, fenv
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 when defined(c) or defined(cpp):
   proc c_isnan(x: float): bool {.importc: "isnan", header: "<math.h>".}
     # a generic like `x: SomeFloat` might work too if this is implemented via a C macro.
diff --git a/lib/pure/options.nim b/lib/pure/options.nim
index 850bfa555..562ed6361 100644
--- a/lib/pure/options.nim
+++ b/lib/pure/options.nim
@@ -71,6 +71,10 @@ supports pattern matching on `Option`s, with the `Some(<pattern>)` and
 
 import typetraits
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 when (NimMajor, NimMinor) >= (1, 1):
   type
     SomePointer = ref | ptr | pointer | proc
diff --git a/lib/pure/os.nim b/lib/pure/os.nim
index 7c0c64276..fa379a228 100644
--- a/lib/pure/os.nim
+++ b/lib/pure/os.nim
@@ -35,7 +35,7 @@ import std/private/since
 import strutils, pathnorm
 
 when defined(nimPreviewSlimSystem):
-  import std/syncio
+  import std/[syncio, assertions]
 
 const weirdTarget = defined(nimscript) or defined(js)
 
diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim
index 3da9737ec..dca5099a4 100644
--- a/lib/pure/osproc.nim
+++ b/lib/pure/osproc.nim
@@ -31,6 +31,10 @@ else:
 when defined(linux) and defined(useClone):
   import linux
 
+when defined(nimPreviewSlimSystem):
+  import std/[syncio, assertions]
+
+
 type
   ProcessOption* = enum ## Options that can be passed to `startProcess proc
                         ## <#startProcess,string,string,openArray[string],StringTableRef,set[ProcessOption]>`_.
diff --git a/lib/pure/parsejson.nim b/lib/pure/parsejson.nim
index 196d8c360..c92eac26e 100644
--- a/lib/pure/parsejson.nim
+++ b/lib/pure/parsejson.nim
@@ -14,6 +14,9 @@
 import strutils, lexbase, streams, unicode
 import std/private/decode_helpers
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 type
   JsonEventKind* = enum ## enumeration of all events that may occur when parsing
     jsonError,          ## an error occurred during parsing
diff --git a/lib/pure/streamwrapper.nim b/lib/pure/streamwrapper.nim
index 7a501760b..a6c1901d2 100644
--- a/lib/pure/streamwrapper.nim
+++ b/lib/pure/streamwrapper.nim
@@ -13,6 +13,10 @@
 
 import deques, streams
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 type
   PipeOutStream*[T] = ref object of T
     # When stream peek operation is called, it reads from base stream
diff --git a/lib/pure/strformat.nim b/lib/pure/strformat.nim
index 40a33951c..ce3439600 100644
--- a/lib/pure/strformat.nim
+++ b/lib/pure/strformat.nim
@@ -316,6 +316,10 @@ single letter DSLs.
 import macros, parseutils, unicode
 import strutils except format
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 proc mkDigit(v: int, typ: char): string {.inline.} =
   assert(v < 26)
   if v < 10:
diff --git a/lib/pure/strtabs.nim b/lib/pure/strtabs.nim
index 3b90fea50..aa2886cfa 100644
--- a/lib/pure/strtabs.nim
+++ b/lib/pure/strtabs.nim
@@ -53,6 +53,10 @@ import std/private/since
 import
   hashes, strutils
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 when defined(js) or defined(nimscript) or defined(Standalone):
   {.pragma: rtlFunc.}
 else:
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim
index 5e505ec3a..bf7bd6aa8 100644
--- a/lib/pure/strutils.nim
+++ b/lib/pure/strutils.nim
@@ -82,6 +82,9 @@ include "system/inclrtl"
 import std/private/since
 from std/private/strimpl import cmpIgnoreStyleImpl, cmpIgnoreCaseImpl, startsWithImpl, endsWithImpl
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 
 const
   Whitespace* = {' ', '\t', '\v', '\r', '\l', '\f'}
diff --git a/lib/pure/terminal.nim b/lib/pure/terminal.nim
index 5755e142a..571c9b13c 100644
--- a/lib/pure/terminal.nim
+++ b/lib/pure/terminal.nim
@@ -67,7 +67,7 @@ when defined(windows):
   import winlean
 
 when defined(nimPreviewSlimSystem):
-  import std/syncio
+  import std/[syncio, assertions]
 
 type
   PTerminal = ref object
diff --git a/lib/pure/times.nim b/lib/pure/times.nim
index 7851bf158..b70c5cedc 100644
--- a/lib/pure/times.nim
+++ b/lib/pure/times.nim
@@ -201,6 +201,10 @@ import strutils, math, options
 import std/private/since
 include "system/inclrtl"
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 when defined(js):
   import jscore
 
diff --git a/lib/pure/typetraits.nim b/lib/pure/typetraits.nim
index 8dc1b8cf2..3fc1c7c5c 100644
--- a/lib/pure/typetraits.nim
+++ b/lib/pure/typetraits.nim
@@ -15,6 +15,10 @@
 import std/private/since
 export system.`$` # for backward compatibility
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 type HoleyEnum* = (not Ordinal) and enum ## Enum with holes.
 type OrdinalEnum* = Ordinal and enum ## Enum without holes.
 
diff --git a/lib/system/assertions.nim b/lib/std/assertions.nim
index 6f64a55b7..3d2112b1a 100644
--- a/lib/system/assertions.nim
+++ b/lib/std/assertions.nim
@@ -1,7 +1,13 @@
-## This module provides various assertion utilities.
-##
-## **Note:** This module is reexported by `system` and thus does not need to be
-## imported directly (with `system/assertions`).
+#
+#
+#            Nim's Runtime Library
+#        (c) Copyright 2022 Nim contributors
+#
+#    See the file "copying.txt", included in this
+#    distribution, for details about the copyright.
+#
+
+## This module implements assertion handling.
 
 when not declared(sysFatal):
   include "system/fatal"
diff --git a/lib/std/enumutils.nim b/lib/std/enumutils.nim
index b7d2b9f89..9d4ff1bcf 100644
--- a/lib/std/enumutils.nim
+++ b/lib/std/enumutils.nim
@@ -10,6 +10,10 @@
 import macros
 from typetraits import OrdinalEnum, HoleyEnum
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 # xxx `genEnumCaseStmt` needs tests and runnableExamples
 
 macro genEnumCaseStmt*(typ: typedesc, argSym: typed, default: typed,
diff --git a/lib/std/jsonutils.nim b/lib/std/jsonutils.nim
index 19384b5d1..722ea49b5 100644
--- a/lib/std/jsonutils.nim
+++ b/lib/std/jsonutils.nim
@@ -34,6 +34,9 @@ import macros
 from enumutils import symbolName
 from typetraits import OrdinalEnum
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 when not defined(nimFixedForwardGeneric):
   # xxx remove pending csources_v1 update >= 1.2.0
   proc to[T](node: JsonNode, t: typedesc[T]): T =
diff --git a/lib/std/packedsets.nim b/lib/std/packedsets.nim
index b2ee917eb..1e2892658 100644
--- a/lib/std/packedsets.nim
+++ b/lib/std/packedsets.nim
@@ -24,6 +24,9 @@
 import std/private/since
 import hashes
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 type
   BitScalar = uint
 
diff --git a/lib/std/private/globs.nim b/lib/std/private/globs.nim
index 190316f93..28a810372 100644
--- a/lib/std/private/globs.nim
+++ b/lib/std/private/globs.nim
@@ -8,6 +8,10 @@ import os
 when defined(windows):
   from strutils import replace
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
+
 when defined(nimHasEffectsOf):
   {.experimental: "strictEffects".}
 else:
diff --git a/lib/std/sha1.nim b/lib/std/sha1.nim
index ed962707b..50175024c 100644
--- a/lib/std/sha1.nim
+++ b/lib/std/sha1.nim
@@ -29,6 +29,9 @@ runnableExamples("-r:off"):
 import strutils
 from endians import bigEndian32, bigEndian64
 
+when defined(nimPreviewSlimSystem):
+  import std/syncio
+
 const Sha1DigestSize = 20
 
 type
diff --git a/lib/system.nim b/lib/system.nim
index 572768de2..4080fee06 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -1830,8 +1830,11 @@ when not defined(nimscript):
 when defined(nimV2):
   include system/arc
 
-import system/assertions
-export assertions
+when not defined(nimPreviewSlimSystem):
+  {.deprecated: """assertions is about to move out of system; use `-d:nimPreviewSlimSystem` and
+                import `std/assertions`.""".}
+  import std/assertions
+  export assertions
 
 import system/iterators
 export iterators
diff --git a/lib/system/dragonbox.nim b/lib/system/dragonbox.nim
index 336c982c1..34ae9e210 100644
--- a/lib/system/dragonbox.nim
+++ b/lib/system/dragonbox.nim
@@ -24,6 +24,8 @@
 
 import std/private/digitsutils
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
 
 const
   dtoaMinBufferLength*: cint = 64
diff --git a/lib/system/formatfloat.nim b/lib/system/formatfloat.nim
index 3bcd3257b..aada3e1bf 100644
--- a/lib/system/formatfloat.nim
+++ b/lib/system/formatfloat.nim
@@ -7,6 +7,9 @@
 #    distribution, for details about the copyright.
 #
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 proc c_memcpy(a, b: pointer, size: csize_t): pointer {.importc: "memcpy", header: "<string.h>", discardable.}
 
 proc addCstringN(result: var string, buf: cstring; buflen: int) =
diff --git a/lib/system/iterators.nim b/lib/system/iterators.nim
index f23f7aa11..6d33fc0bc 100644
--- a/lib/system/iterators.nim
+++ b/lib/system/iterators.nim
@@ -1,3 +1,6 @@
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 when defined(nimHasLentIterators) and not defined(nimNoLentIterators):
   template lent2(T): untyped = lent T
 else:
diff --git a/lib/system/schubfach.nim b/lib/system/schubfach.nim
index 06813f632..7d6861e35 100644
--- a/lib/system/schubfach.nim
+++ b/lib/system/schubfach.nim
@@ -12,6 +12,9 @@
 
 import std/private/digitsutils
 
+when defined(nimPreviewSlimSystem):
+  import std/assertions
+
 
 template sf_Assert(x: untyped): untyped =
   assert(x)