add -d:nimStrictMode in CI to keep code from regressing; fixes ConvFromXtoItselfNotNeeded, UnusedImport notes (#16764)

This commit is contained in:
Timothee Cour
2021-02-17 10:30:09 -08:00
committed by GitHub
parent 35e14998ec
commit 31bb67a309
20 changed files with 43 additions and 23 deletions

View File

@@ -1279,7 +1279,7 @@ else:
var newList = newSeqOfCap[Callback](newLength)
var cb = curList[0]
if not cb(fd.AsyncFD):
if not cb(fd):
newList.add(cb)
withData(p.selector, fd.int, adata) do:

View File

@@ -364,7 +364,10 @@ proc read*[T](future: Future[T] | FutureVar[T]): T =
##
## If the result of the future is an error then that error will be raised.
{.push hint[ConvFromXtoItselfNotNeeded]: off.}
let fut = Future[T](future)
when future is Future[T]:
let fut = future
else:
let fut = Future[T](future)
{.pop.}
if fut.finished:
if fut.error != nil:

View File

@@ -20,7 +20,9 @@ when defined(windows):
import winlean
from os import absolutePath
else:
import os, osproc
import os
when not defined(osx):
import osproc
const osOpenCmd* =
when defined(macos) or defined(macosx) or defined(windows): "open" else: "xdg-open" ## \

View File

@@ -15,7 +15,7 @@ runnableExamples:
include "system/inclrtl"
when not defined(windows):
when defined(linux):
import posix
when defined(freebsd) or defined(macosx):

View File

@@ -88,7 +88,6 @@
import std/private/since
import nativesockets, os, strutils, times, sets, options, std/monotimes
from ssl_certs import scanSSLCertificates
import ssl_config
export nativesockets.Port, nativesockets.`$`, nativesockets.`==`
export Domain, SockType, Protocol
@@ -101,6 +100,8 @@ when useWinVersion:
when defineSsl:
import openssl
when not defined(nimDisableCertificateValidation):
from ssl_certs import scanSSLCertificates
# Note: The enumerations are mapped to Window's constants.
@@ -670,7 +671,7 @@ when defineSsl:
# That means we can assume that the next internal index is the length of
# extra data indexes.
for i in ctx.referencedData:
GC_unref(getExtraData(ctx, i).RootRef)
GC_unref(getExtraData(ctx, i))
ctx.context.SSL_CTX_free()
proc `pskIdentityHint=`*(ctx: SslContext, hint: string) =

View File

@@ -1234,7 +1234,7 @@ elif not defined(useNimRtl):
when defined(macosx) or defined(freebsd) or defined(netbsd) or
defined(openbsd) or defined(dragonfly):
import kqueue, times
import kqueue
proc waitForExit(p: Process, timeout: int = -1): int =
if p.exitFlag:

View File

@@ -769,8 +769,6 @@ proc getch*(): char =
discard fd.tcSetAttr(TCSADRAIN, addr oldMode)
when defined(windows):
from unicode import toUTF8, Rune, runeLenAt
proc readPasswordFromStdin*(prompt: string, password: var string):
bool {.tags: [ReadIOEffect, WriteIOEffect].} =
## Reads a `password` from stdin without printing it. `password` must not

View File

@@ -74,7 +74,7 @@ when defined(js):
system.`+`(a, b)
{.pop.}
elif defined(posix):
elif defined(posix) and not defined(osx):
import posix
elif defined(windows):

View File

@@ -4,7 +4,9 @@ this can eventually be moved to std/os and `walkDirRec` can be implemented in te
to avoid duplication
]##
import std/[os,strutils]
import std/[os]
when defined(windows):
from strutils import replace
type
PathEntry* = object

View File

@@ -5,7 +5,6 @@ proc `$`*(x: int): string {.magic: "IntToStr", noSideEffect.}
when defined(js):
import std/private/since
since (1, 3):
proc `$`*(x: uint): string =
## Caveat: currently implemented as $(cast[int](x)), tied to current

View File

@@ -378,7 +378,8 @@ proc reportUnhandledErrorAux(e: ref Exception) {.nodestroy.} =
# ugly, but avoids heap allocations :-)
template xadd(buf, s, slen) =
if L + slen < high(buf):
copyMem(addr(buf[L]), cstring(s), slen)
copyMem(addr(buf[L]), (when s is cstring: s else: cstring(s)), slen)
inc L, slen
template add(buf, s) =
xadd(buf, s, s.len)