mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-20 07:51:32 +00:00
strictFuncs+views: add test that imports stdlib modules (#16878)
This commit attempts to improve testing of strictFuncs and views, and
prevent regressions like #16873 (resolved by 0b01eddace).
We previously only explicitly tested strictFuncs and views with a
smaller number of stdlib modules, mostly in:
- tests/effects/tstrict_funcs.nim
- tests/views/tcan_compile_nim.nim
Note that this commit leaves the `pegs` module commented out; it
cannot currently be compiled with `--experimental:views` (see #16892).
Note also that this commit is not sufficient to test strictFuncs and
views, but it does detect a subset of problems.
This commit is contained in:
@@ -3,18 +3,6 @@ discard """
|
||||
"""
|
||||
|
||||
import tables, streams, parsecsv
|
||||
# We import the below modules to check that they compile with `strictFuncs`.
|
||||
# They are otherwise unused in this file.
|
||||
import
|
||||
complex,
|
||||
critbits,
|
||||
httpcore,
|
||||
math,
|
||||
nre,
|
||||
rationals,
|
||||
sequtils,
|
||||
strutils,
|
||||
uri
|
||||
|
||||
type
|
||||
Contig2Reads = TableRef[string, seq[string]]
|
||||
|
||||
177
tests/effects/tstrict_funcs_imports.nim
Normal file
177
tests/effects/tstrict_funcs_imports.nim
Normal file
@@ -0,0 +1,177 @@
|
||||
discard """
|
||||
cmd: "nim $target $options --hints:on --experimental:strictFuncs --experimental:views --threads:on -d:ssl -d:nimCoroutines $file"
|
||||
targets: "c"
|
||||
"""
|
||||
{.warning[UnusedImport]: off.}
|
||||
|
||||
when defined(linux):
|
||||
import linenoise
|
||||
|
||||
import
|
||||
algorithm,
|
||||
asyncdispatch,
|
||||
asyncfile,
|
||||
asyncftpclient,
|
||||
asyncfutures,
|
||||
asynchttpserver,
|
||||
asyncmacro,
|
||||
asyncnet,
|
||||
asyncstreams,
|
||||
atomics,
|
||||
base64,
|
||||
bitops,
|
||||
browsers,
|
||||
cgi,
|
||||
chains,
|
||||
colors,
|
||||
complex,
|
||||
cookies,
|
||||
coro,
|
||||
cpuinfo,
|
||||
cpuload,
|
||||
critbits,
|
||||
cstrutils,
|
||||
db_common,
|
||||
db_mysql,
|
||||
db_odbc,
|
||||
db_postgres,
|
||||
db_sqlite,
|
||||
deques,
|
||||
distros,
|
||||
dynlib,
|
||||
encodings,
|
||||
endians,
|
||||
epoll,
|
||||
fenv,
|
||||
hashes,
|
||||
heapqueue,
|
||||
hotcodereloading,
|
||||
htmlgen,
|
||||
htmlparser,
|
||||
httpclient,
|
||||
httpcore,
|
||||
inotify,
|
||||
intsets,
|
||||
json,
|
||||
kqueue,
|
||||
lenientops,
|
||||
lexbase,
|
||||
lists,
|
||||
locks,
|
||||
logging,
|
||||
macrocache,
|
||||
macros,
|
||||
marshal,
|
||||
math,
|
||||
md5,
|
||||
memfiles,
|
||||
mersenne,
|
||||
mimetypes,
|
||||
nativesockets,
|
||||
net,
|
||||
nimhcr,
|
||||
# nimprof,
|
||||
nre,
|
||||
oids,
|
||||
options,
|
||||
os,
|
||||
osproc,
|
||||
parsecfg,
|
||||
parsecsv,
|
||||
parsejson,
|
||||
parseopt,
|
||||
parsesql,
|
||||
parseutils,
|
||||
parsexml,
|
||||
pathnorm,
|
||||
# pegs,
|
||||
posix_utils,
|
||||
prelude,
|
||||
punycode,
|
||||
random,
|
||||
rationals,
|
||||
rdstdin,
|
||||
re,
|
||||
registry,
|
||||
reservedmem,
|
||||
rlocks,
|
||||
ropes,
|
||||
rtarrays,
|
||||
selectors,
|
||||
sequtils,
|
||||
sets,
|
||||
sharedlist,
|
||||
sharedtables,
|
||||
smtp,
|
||||
ssl_certs,
|
||||
ssl_config,
|
||||
stats,
|
||||
streams,
|
||||
streamwrapper,
|
||||
strformat,
|
||||
strmisc,
|
||||
strscans,
|
||||
strtabs,
|
||||
strutils,
|
||||
sugar,
|
||||
tables,
|
||||
terminal,
|
||||
threadpool,
|
||||
times,
|
||||
typeinfo,
|
||||
typetraits,
|
||||
unicode,
|
||||
unidecode,
|
||||
unittest,
|
||||
uri,
|
||||
volatile,
|
||||
winlean,
|
||||
xmlparser,
|
||||
xmltree
|
||||
|
||||
import experimental/[
|
||||
diff,
|
||||
]
|
||||
|
||||
import packages/docutils/[
|
||||
highlite,
|
||||
rst,
|
||||
rstast,
|
||||
rstgen,
|
||||
]
|
||||
|
||||
import std/[
|
||||
compilesettings,
|
||||
decls,
|
||||
editdistance,
|
||||
effecttraits,
|
||||
enumerate,
|
||||
enumutils,
|
||||
exitprocs,
|
||||
isolation,
|
||||
jsonutils,
|
||||
logic,
|
||||
monotimes,
|
||||
packedsets,
|
||||
setutils,
|
||||
sha1,
|
||||
socketstreams,
|
||||
stackframes,
|
||||
sums,
|
||||
time_t,
|
||||
varints,
|
||||
with,
|
||||
wordwrap,
|
||||
wrapnils,
|
||||
]
|
||||
|
||||
import std/private/[
|
||||
asciitables,
|
||||
decode_helpers,
|
||||
gitutils,
|
||||
globs,
|
||||
miscdollars,
|
||||
since,
|
||||
strimpl,
|
||||
underscored_calls,
|
||||
]
|
||||
21
tests/effects/tstrict_funcs_imports_js.nim
Normal file
21
tests/effects/tstrict_funcs_imports_js.nim
Normal file
@@ -0,0 +1,21 @@
|
||||
discard """
|
||||
cmd: "nim $target $options --hints:on --experimental:strictFuncs --experimental:views $file"
|
||||
targets: "js"
|
||||
"""
|
||||
{.warning[UnusedImport]: off.}
|
||||
|
||||
import
|
||||
asyncjs,
|
||||
dom,
|
||||
dom_extensions,
|
||||
jsconsole,
|
||||
jsffi,
|
||||
jsre
|
||||
|
||||
import std/[
|
||||
jsbigints,
|
||||
]
|
||||
|
||||
import std/private/[
|
||||
jsutils,
|
||||
]
|
||||
Reference in New Issue
Block a user