make more standard libraries work with nimPreviewSlimSystem (#20343)

* make more standard libraries work with `nimPreviewSlimSystem`

* typo

* part two

* Delete specutils.nim

* fixes more tests

* more fixes

* fixes tests

* fixes three more tests

* add formatfloat import

* fix

* last
This commit is contained in:
ringabout
2022-09-28 02:06:23 +08:00
committed by GitHub
parent 98a717dda9
commit 3d2f0e2c7c
194 changed files with 299 additions and 54 deletions

View File

@@ -40,6 +40,10 @@ include "system/hti.nim"
{.pop.}
when defined(nimPreviewSlimSystem):
import std/assertions
type
AnyKind* = enum ## The kind of `Any`.
akNone = 0, ## invalid

View File

@@ -45,6 +45,9 @@ jkl"""
import tables, strutils
when defined(nimPreviewSlimSystem):
import std/assertions
type
Item* = object ## An Item in the list of differences.
startA*: int ## Start Line number in Data A.

View File

@@ -172,6 +172,8 @@ import db_common
export db_common
import std/private/[since, dbutils]
when defined(nimPreviewSlimSystem):
import std/assertions
type
DbConn* = PSqlite3 ## Encapsulates a database connection.

View File

@@ -66,6 +66,9 @@ from strutils import `%`
import options
from unicode import runeLenAt
when defined(nimPreviewSlimSystem):
import std/assertions
export options
type

View File

@@ -34,6 +34,9 @@ runnableExamples:
import
pcre, strutils, rtarrays
when defined(nimPreviewSlimSystem):
import std/syncio
const
MaxSubpatterns* = 20
## defines the maximum number of subpatterns that can be captured.

View File

@@ -232,6 +232,9 @@ import asyncfutures except callSoon
import nativesockets, net, deques
when defined(nimPreviewSlimSystem):
import std/[assertions, syncio]
export Port, SocketFlag
export asyncfutures except callSoon
export asyncstreams

View File

@@ -24,6 +24,9 @@
import asyncdispatch, os
when defined(nimPreviewSlimSystem):
import std/[assertions, syncio]
# TODO: Fix duplication introduced by PR #4683.
when defined(windows) or defined(nimdoc):

View File

@@ -81,6 +81,9 @@
import asyncdispatch, asyncnet, nativesockets, strutils, parseutils, os, times
from net import BufferSize
when defined(nimPreviewSlimSystem):
import std/assertions
type
AsyncFtpClient* = ref object
csock*: AsyncSocket

View File

@@ -13,6 +13,7 @@ import system/stacktraces
when defined(nimPreviewSlimSystem):
import std/objectdollar # for StackTraceEntry
import std/assertions
# TODO: This shouldn't need to be included, but should ideally be exported.
type

View File

@@ -44,6 +44,9 @@ import httpcore
from nativesockets import getLocalAddr, Domain, AF_INET, AF_INET6
import std/private/since
when defined(nimPreviewSlimSystem):
import std/assertions
export httpcore except parseHeader
const

View File

@@ -96,6 +96,10 @@
##
import std/private/since
when defined(nimPreviewSlimSystem):
import std/[assertions, syncio]
import asyncdispatch, nativesockets, net, os
export SOBool

View File

@@ -11,6 +11,9 @@
import asyncfutures
when defined(nimPreviewSlimSystem):
import std/assertions
import deques
type

View File

@@ -32,6 +32,9 @@
import strutils, os, strtabs, cookies, uri
export uri.encodeUrl, uri.decodeUrl
when defined(nimPreviewSlimSystem):
import std/syncio
proc addXmlChar(dest: var string, c: char) {.inline.} =
case c

View File

@@ -36,6 +36,9 @@ runnableExamples:
import std/private/since
when defined(nimPreviewSlimSystem):
import std/assertions
type
NodeObj[T] {.acyclic.} = object
byte: int ## byte index of the difference

View File

@@ -19,6 +19,9 @@ when defined(windows):
elif defined(linux):
from cpuinfo import countProcessors
when defined(nimPreviewSlimSystem):
import std/syncio
type
ThreadPoolAdvice* = enum
doNothing,

View File

@@ -23,6 +23,9 @@ when not compileOption("threads"):
import cpuinfo, cpuload, locks, os
when defined(nimPreviewSlimSystem):
import std/assertions
{.push stackTrace:off.}
type

View File

@@ -11,6 +11,9 @@
import strtabs, times, options
when defined(nimPreviewSlimSystem):
import std/assertions
type
SameSite* {.pure.} = enum ## The SameSite cookie attribute.

View File

@@ -40,6 +40,8 @@ runnableExamples:
import os
when defined(nimPreviewSlimSystem):
import std/assertions
when not defined(windows):
type

View File

@@ -237,6 +237,9 @@ import std/[
asyncnet, asyncdispatch, asyncfile, nativesockets,
]
when defined(nimPreviewSlimSystem):
import std/[assertions, syncio]
export httpcore except parseHeader # TODO: The `except` doesn't work
type

View File

@@ -56,6 +56,9 @@ Please contribute a new implementation.""".}
import streams, typeinfo, json, intsets, tables, unicode
when defined(nimPreviewSlimSystem):
import std/[assertions, formatfloat]
proc ptrToInt(x: pointer): int {.inline.} =
result = cast[int](x) # don't skip alignment

View File

@@ -24,6 +24,10 @@ else:
import os, streams
when defined(nimPreviewSlimSystem):
import std/[syncio, assertions]
proc newEIO(msg: string): ref IOError =
new(result)
result.msg = msg

View File

@@ -29,6 +29,10 @@ runnableExamples:
import tables
from strutils import startsWith, toLowerAscii, strip
when defined(nimPreviewSlimSystem):
import std/assertions
type
MimeDB* = object
mimes: OrderedTable[string, string]

View File

@@ -16,6 +16,8 @@ import os, options
import std/private/since
import std/strbasics
when defined(nimPreviewSlimSystem):
import std/[assertions, syncio]
when hostOS == "solaris":
{.passl: "-lsocket -lnsl".}

View File

@@ -90,6 +90,9 @@ runnableExamples("-r:off"):
import std/private/since
when defined(nimPreviewSlimSystem):
import std/assertions
import nativesockets
import os, strutils, times, sets, options, std/monotimes
import ssl_config

View File

@@ -15,6 +15,9 @@
import strutils, lexbase
import std/private/decode_helpers
when defined(nimPreviewSlimSystem):
import std/assertions
# ------------------- scanner -------------------------------------------------
type

View File

@@ -149,6 +149,9 @@ an HTML document contains.
import
strutils, lexbase, streams, unicode
when defined(nimPreviewSlimSystem):
import std/assertions
# the parser treats ``<br />`` as ``<br></br>``
# xmlElementCloseEnd, ## ``/>``

View File

@@ -75,6 +75,9 @@ runnableExamples:
import algorithm, math
import std/private/since
when defined(nimPreviewSlimSystem):
import std/assertions
include system/inclrtl
{.push debugger: off.}

View File

@@ -22,6 +22,8 @@ runnableExamples:
doAssert r1 / r2 == -2 // 3
import math, hashes
when defined(nimPreviewSlimSystem):
import std/assertions
type Rational*[T] = object
## A rational number, consisting of a numerator `num` and a denominator `den`.

View File

@@ -20,7 +20,7 @@ include system/inclrtl
import streams
when defined(nimPreviewSlimSystem):
import std/syncio
import std/[syncio, formatfloat, assertions]
{.push debugger: off.} # the user does not want to trace a part
# of the standard library!

View File

@@ -29,6 +29,9 @@
import os, nativesockets
when defined(nimPreviewSlimSystem):
import std/assertions
const hasThreadSupport = compileOption("threads") and defined(threadsafe)
const ioselSupportedPlatform* = defined(macosx) or defined(freebsd) or

View File

@@ -55,6 +55,9 @@ runnableExamples:
from math import FloatClass, sqrt, pow, round
when defined(nimPreviewSlimSystem):
import std/[assertions, formatfloat]
{.push debugger: off.} # the user does not want to trace a part
# of the standard library!
{.push checks: off, line_dir: off, stack_trace: off.}

View File

@@ -108,6 +108,9 @@
import std/private/since
import std/exitprocs
when defined(nimPreviewSlimSystem):
import std/assertions
import macros, strutils, streams, times, sets, sequtils
when declared(stdout):

View File

@@ -3,6 +3,9 @@
when not defined(js):
{.fatal: "Module jsbigints is designed to be used with the JavaScript backend.".}
when defined(nimPreviewSlimSystem):
import std/assertions
type JsBigIntImpl {.importjs: "bigint".} = int # https://github.com/nim-lang/Nim/pull/16606
type JsBigInt* = distinct JsBigIntImpl ## Arbitrary precision integer for JavaScript target.

View File

@@ -62,6 +62,9 @@ when not defined(js):
when defined(posix):
import posix
when defined(nimPreviewSlimSystem):
import std/assertions
const
batchImplOS = defined(freebsd) or defined(openbsd) or defined(zephyr) or (defined(macosx) and not defined(ios))
batchSize {.used.} = 256

View File

@@ -13,6 +13,9 @@
import std/[macros, isolation, typetraits]
import system/ansi_c
when defined(nimPreviewSlimSystem):
import std/assertions
export isolation

View File

@@ -19,6 +19,8 @@ See also:
import os, random
when defined(nimPreviewSlimSystem):
import std/syncio
const
maxRetry = 10000

View File

@@ -8,6 +8,9 @@
#
# The generic ``repr`` procedure for the javascript backend.
when defined(nimPreviewSlimSystem):
import std/formatfloat
proc reprInt(x: int64): string {.compilerproc.} = $x
proc reprFloat(x: float): string {.compilerproc.} = $x

View File

@@ -25,6 +25,9 @@
#
from strutils import startsWith
when defined(nimPreviewSlimSystem):
import std/syncio
when defined(nimHasStyleChecks):
{.push styleChecks: off.}