fix deprecations and other warnings (#13748)

This commit is contained in:
Miran
2020-03-25 19:15:34 +01:00
committed by GitHub
parent 182d3c16e3
commit 5b55aa52d0
22 changed files with 63 additions and 66 deletions

View File

@@ -276,7 +276,7 @@ when defined(windows) or defined(nimdoc):
## Creates a new Dispatcher instance.
new result
result.ioPort = createIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, 1)
result.handles = initSet[AsyncFD]()
result.handles = initHashSet[AsyncFD]()
result.timers.newHeapQueue()
result.callbacks = initDeque[proc () {.closure, gcsafe.}](64)
@@ -398,7 +398,7 @@ when defined(windows) or defined(nimdoc):
addr bytesRet, nil, nil) == 0
proc initAll() =
let dummySock = newNativeSocket()
let dummySock = createNativeSocket()
if dummySock == INVALID_SOCKET:
raiseOSError(osLastError())
var fun: pointer = nil
@@ -713,7 +713,7 @@ when defined(windows) or defined(nimdoc):
verifyPresence(socket)
var retFuture = newFuture[tuple[address: string, client: AsyncFD]]("acceptAddr")
var clientSock = newNativeSocket()
var clientSock = createNativeSocket()
if clientSock == osInvalidSocket: raiseOSError(osLastError())
const lpOutputLen = 1024
@@ -1121,7 +1121,7 @@ else:
proc newDispatcher*(): owned(PDispatcher) =
new result
result.selector = newSelector[AsyncData]()
result.timers.newHeapQueue()
result.timers.clear()
result.callbacks = initDeque[proc () {.closure, gcsafe.}](InitDelayedCallbackListSize)
var gDisp{.threadvar.}: owned PDispatcher ## Global dispatcher
@@ -1574,7 +1574,7 @@ proc poll*(timeout = 500) =
discard runOnce(timeout)
template createAsyncNativeSocketImpl(domain, sockType, protocol) =
let handle = newNativeSocket(domain, sockType, protocol)
let handle = createNativeSocket(domain, sockType, protocol)
if handle == osInvalidSocket:
return osInvalidSocket.AsyncFD
handle.setBlocking(false)

View File

@@ -113,8 +113,8 @@ proc close*[T](s: Selector[T]) =
when defined(windows):
proc newSelectEvent*(): SelectEvent =
var ssock = newNativeSocket()
var wsock = newNativeSocket()
var ssock = createNativeSocket()
var wsock = createNativeSocket()
var rsock: SocketHandle = INVALID_SOCKET
var saddr = Sockaddr_in()

View File

@@ -67,9 +67,7 @@
include "system/inclrtl"
{.deadCodeElim: on.} # dce option deprecated
import nativesockets, os, strutils, parseutils, times, sets, options,
std/monotimes
from ospaths import getEnv
import nativesockets, os, strutils, times, sets, options, std/monotimes
from ssl_certs import scanSSLCertificates
export nativesockets.Port, nativesockets.`$`, nativesockets.`==`
export Domain, SockType, Protocol
@@ -603,7 +601,7 @@ when defineSsl:
if not found:
raise newException(IOError, "No SSL/TLS CA certificates found.")
result = SSLContext(context: newCTX, referencedData: initSet[int](),
result = SSLContext(context: newCTX, referencedData: initHashSet[int](),
extraInternal: new(SslContextExtraInternal))
proc getExtraInternal(ctx: SslContext): SslContextExtraInternal =

View File

@@ -181,7 +181,7 @@ proc writeProfile() {.noconv.} =
var perProc = initCountTable[string]()
for i in 0..entries-1:
var dups = initSet[string]()
var dups = initHashSet[string]()
for ii in 0..high(StackTrace.lines):
let procname = profileData[i].st[ii]
if isNil(procname): break

View File

@@ -7,9 +7,9 @@ type X = object
proc main =
# bug #52
var
set0 = initSet[int]()
set1 = initSet[X]()
set2 = initSet[ref int]()
set0 = initHashSet[int]()
set1 = initHashSet[X]()
set2 = initHashSet[ref int]()
map0 = initTable[int, int]()
map1 = initOrderedTable[string, int]()

View File

@@ -6,11 +6,10 @@ discard """
import asyncdispatch
import asyncfile
import times
var asyncStdout = 1.AsyncFD.newAsyncFile()
proc doStuff: Future[void] {.async.} =
await asyncStdout.write "hello world\n"
let fut = doStuff()
doAssert fut.finished, "Poll is needed unnecessarily. See #6846."
doAssert fut.finished, "Poll is needed unnecessarily. See #6846."

View File

@@ -8,7 +8,7 @@ import asyncdispatch, net, os, nativesockets
# bug: https://github.com/nim-lang/Nim/issues/5279
proc setupServerSocket(hostname: string, port: Port): AsyncFD =
let fd = newNativeSocket()
let fd = createNativeSocket()
if fd == osInvalidSocket:
raiseOSError(osLastError())
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
@@ -30,7 +30,7 @@ for i in 0..100:
if not fut.failed:
fut.read().closeSocket()
var fd = newAsyncNativeSocket()
var fd = createAsyncNativeSocket()
waitFor fd.connect("localhost", port)
serverFd.closeSocket()
fd.closeSocket()

View File

@@ -18,7 +18,7 @@ when defined(windows) or defined(nimdoc):
quit("Error: unhandled exception: Connection refused")
else:
proc testAsyncConnect() {.async.} =
var s = newAsyncNativeSocket()
var s = createAsyncNativeSocket()
await s.connect(testHost, testPort)

View File

@@ -13,7 +13,7 @@ proc setupServerSocket(hostname: string, port: Port, domain: Domain): AsyncFD =
## Creates a socket, binds it to the specified address, and starts listening for connections.
## Registers the descriptor with the dispatcher of the current thread
## Raises OSError in case of an error.
let fd = newNativeSocket(domain)
let fd = createNativeSocket(domain)
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
var aiList = getAddrInfo(hostname, port, domain)
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:

View File

@@ -13,7 +13,7 @@ template processTest(t, x: untyped) =
when defined(macosx):
echo "All tests passed!"
elif not defined(windows):
import os, posix, nativesockets, times
import os, posix, nativesockets
when ioselSupportedPlatform:
import osproc
@@ -445,7 +445,7 @@ elif not defined(windows):
var
thr: array[0..7, Thread[SelectEvent]]
var selector = newSelector[int]()
var sock = newNativeSocket()
var sock = createNativeSocket()
var event = newSelectEvent()
for i in 0..high(thr):
createThread(thr[i], event_wait_thread, event)
@@ -475,7 +475,7 @@ else:
proc socket_notification_test(): bool =
proc create_test_socket(): SocketHandle =
var sock = newNativeSocket()
var sock = createNativeSocket()
setBlocking(sock, false)
result = sock

View File

@@ -40,9 +40,9 @@ proc launchSwarm(name: ptr SockAddr) {.async.} =
var saddr = Sockaddr_in()
while i < swarmSize:
var peeraddr = prepareAddress(INADDR_LOOPBACK, 0)
var sock = newAsyncNativeSocket(nativesockets.AF_INET,
nativesockets.SOCK_DGRAM,
Protocol.IPPROTO_UDP)
var sock = createAsyncNativeSocket(nativesockets.AF_INET,
nativesockets.SOCK_DGRAM,
Protocol.IPPROTO_UDP)
if bindAddr(sock.SocketHandle, cast[ptr SockAddr](peeraddr),
sizeof(Sockaddr_in).Socklen) < 0'i32:
raiseOSError(osLastError())
@@ -91,9 +91,9 @@ proc readMessages(server: AsyncFD) {.async.} =
proc createServer() {.async.} =
var name = prepareAddress(INADDR_LOOPBACK, serverPort)
var server = newAsyncNativeSocket(nativesockets.AF_INET,
nativesockets.SOCK_DGRAM,
Protocol.IPPROTO_UDP)
var server = createAsyncNativeSocket(nativesockets.AF_INET,
nativesockets.SOCK_DGRAM,
Protocol.IPPROTO_UDP)
if bindAddr(server.SocketHandle, cast[ptr SockAddr](name),
sizeof(Sockaddr_in).Socklen) < 0'i32:
raiseOSError(osLastError())

View File

@@ -208,7 +208,7 @@ when defined(windows):
proc launchSwarm(port: Port) {.async.} =
for i in 0 ..< swarmSize:
var sock = newNativeSocket()
var sock = createNativeSocket()
setBlocking(sock, false)
await winConnect(AsyncFD(sock), "localhost", port)
@@ -229,7 +229,7 @@ when defined(windows):
doAssert false
proc createServer(port: Port) {.async.} =
var server = newNativeSocket()
var server = createNativeSocket()
setBlocking(server, false)
block:
var name = Sockaddr_in()

View File

@@ -19,9 +19,9 @@ doAssert $(@["1", "2", "3"]) == """@["1", "2", "3"]"""
doAssert $(@['1', '2', '3']) == """@['1', '2', '3']"""
# Tests for sets
doAssert $(toSet([1])) == "{1}"
doAssert $(toSet(["1"])) == """{"1"}"""
doAssert $(toSet(['1'])) == """{'1'}"""
doAssert $(toHashSet([1])) == "{1}"
doAssert $(toHashSet(["1"])) == """{"1"}"""
doAssert $(toHashSet(['1'])) == """{'1'}"""
doAssert $(toOrderedSet([1, 2, 3])) == "{1, 2, 3}"
doAssert $(toOrderedSet(["1", "2", "3"])) == """{"1", "2", "3"}"""
doAssert $(toOrderedSet(['1', '2', '3'])) == """{'1', '2', '3'}"""

View File

@@ -3,9 +3,9 @@ import sets, hashes, algorithm
block setEquality:
var
a = initSet[int]()
b = initSet[int]()
c = initSet[string]()
a = initHashSet[int]()
b = initHashSet[int]()
c = initHashSet[string]()
for i in 0..5: a.incl(i)
for i in 1..6: b.incl(i)
@@ -16,27 +16,27 @@ block setEquality:
block setsContainingTuples:
var set = initSet[tuple[i: int, i64: int64, f: float]]()
var set = initHashSet[tuple[i: int, i64: int64, f: float]]()
set.incl( (i: 123, i64: 123'i64, f: 3.14) )
doAssert set.contains( (i: 123, i64: 123'i64, f: 3.14) )
doAssert( not set.contains( (i: 456, i64: 789'i64, f: 2.78) ) )
block setWithTuplesWithSeqs:
var s = initSet[tuple[s: seq[int]]]()
var s = initHashSet[tuple[s: seq[int]]]()
s.incl( (s: @[1, 2, 3]) )
doAssert s.contains( (s: @[1, 2, 3]) )
doAssert( not s.contains((s: @[4, 5, 6])) )
block setWithSequences:
var s = initSet[seq[int]]()
var s = initHashSet[seq[int]]()
s.incl( @[1, 2, 3] )
doAssert s.contains(@[1, 2, 3])
doAssert( not s.contains(@[4, 5, 6]) )
block setClearWorked:
var s = initSet[char]()
var s = initHashSet[char]()
for c in "this is a test":
s.incl(c)

View File

@@ -9,7 +9,7 @@ proc foo*(b: any) =
import sets
var intset = initSet[int]()
var intset = initHashSet[int]()
proc fn*[T](a: T) =
if a in intset: echo("true")

View File

@@ -1,6 +1,6 @@
import nativesockets, asyncdispatch, macros
var p = newDispatcher()
var sock = newAsyncNativeSocket()
var sock = createAsyncNativeSocket()
proc convertReturns(node, retFutureSym: NimNode): NimNode {.compileTime.} =
case node.kind
@@ -27,7 +27,7 @@ macro async2(prc: untyped): untyped =
# -> iterator nameIter(): FutureBase {.closure.} = <proc_body>
# Changing this line to: newIdentNode($prc[0].ident & "Iter") # will make it work.
var iteratorNameSym = genSym(nskIterator, $prc[0].ident & "Iter")
var iteratorNameSym = genSym(nskIterator, $prc[0] & "Iter")
assert iteratorNameSym.symKind == nskIterator
#var iteratorNameSym = newIdentNode($prc[0].ident & "Iter")
var procBody = prc[6].convertReturns(retFutureSym)
@@ -39,7 +39,7 @@ macro async2(prc: untyped): untyped =
# -> var nameIterVar = nameIter
# -> var first = nameIterVar()
var varNameIterSym = newIdentNode($prc[0].ident & "IterVar") #genSym(nskVar, $prc[0].ident & "IterVar")
var varNameIterSym = newIdentNode($prc[0] & "IterVar") #genSym(nskVar, $prc[0].ident & "IterVar")
var varNameIter = newVarStmt(varNameIterSym, iteratorNameSym)
outerProcBody.add varNameIter
var varFirstSym = genSym(nskVar, "first")
@@ -52,7 +52,7 @@ macro async2(prc: untyped): untyped =
# Remove the 'closure' pragma.
for i in 0 ..< result[4].len:
if result[4][i].ident == !"async":
if result[4][i] == newIdentNode("async"):
result[4].del(i)
result[6] = outerProcBody

View File

@@ -63,7 +63,7 @@ task "release", "release build":
## zip up all the files and such or something useful here
task "testskel", "create skeleton test dir for testing":
let dirname = "test-"& $random(5000)
let dirname = "test-" & $random(5000)
removeDir dirName
createDir dirName/"data/fnt"
copyFile "data/fnt/LiberationMono-Regular", dirName/"data/fnt/LiberationMono-Regular.ttf"
@@ -133,7 +133,7 @@ task "download", "download game assets":
else: ## this crashes, dunno why
var
z: TZipArchive
destDir = getCurrentDir()/("unzip"& $random(5000))
destDir = getCurrentDir()/("unzip" & $random(5000))
if not z.open(path, fmRead):
echo "Could not open zip, bad download?"
return

View File

@@ -14,7 +14,7 @@ const manualTests = false
proc makeIPv6HttpServer(hostname: string, port: Port,
message: string): AsyncFD =
let fd = newNativeSocket(AF_INET6)
let fd = createNativeSocket(AF_INET6)
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
var aiList = getAddrInfo(hostname, port, AF_INET6)
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:

View File

@@ -22,58 +22,58 @@ suite "random int":
var set = initHashSet[int](128)
for i in 1..1000:
incl(set, random(high(int)))
incl(set, rand(high(int)))
check len(set) == 1000
test "single number bounds work":
var rand: int
for i in 1..1000:
rand = random(1000)
rand = rand(1000)
check rand < 1000
check rand > -1
test "slice bounds work":
var rand: int
for i in 1..1000:
rand = random(100..1000)
rand = rand(100..1000)
check rand < 1000
check rand >= 100
test " again gives new numbers":
var rand1 = random(1000000)
var rand1 = rand(1000000)
os.sleep(200)
var rand2 = random(1000000)
var rand2 = rand(1000000)
check rand1 != rand2
suite "random float":
test "there might be some randomness":
var set = initSet[float](128)
var set = initHashSet[float](128)
for i in 1..100:
incl(set, random(1.0))
incl(set, rand(1.0))
check len(set) == 100
test "single number bounds work":
var rand: float
for i in 1..1000:
rand = random(1000.0)
rand = rand(1000.0)
check rand < 1000.0
check rand > -1.0
test "slice bounds work":
var rand: float
for i in 1..1000:
rand = random(100.0..1000.0)
rand = rand(100.0..1000.0)
check rand < 1000.0
check rand >= 100.0
test " again gives new numbers":
var rand1:float = random(1000000.0)
var rand1:float = rand(1000000.0)
os.sleep(200)
var rand2:float = random(1000000.0)
var rand2:float = rand(1000000.0)
check rand1 != rand2
suite "cumsum":
@@ -144,4 +144,4 @@ suite "^":
check: compiles(5.5 ^ 2.int8)
check: compiles(5.5 ^ 2.uint)
check: compiles(5.5 ^ 2.uint8)
check: not compiles(5.5 ^ 2.2)
check: not compiles(5.5 ^ 2.2)

View File

@@ -104,7 +104,7 @@ block:
import sets
block:
var x = initSet[int]()
var x = initHashSet[int]()
x.incl 5
try:
echo x[6]

View File

@@ -12,7 +12,7 @@ import os, net, nativesockets, asyncdispatch
const port = Port(28431)
proc initIPv6Server(hostname: string, port: Port): AsyncFD =
let fd = newNativeSocket(AF_INET6)
let fd = createNativeSocket(AF_INET6)
setSockOptInt(fd, SOL_SOCKET, SO_REUSEADDR, 1)
var aiList = getAddrInfo(hostname, port, AF_INET6)
if bindAddr(fd, aiList.ai_addr, aiList.ai_addrlen.Socklen) < 0'i32:

View File

@@ -47,7 +47,7 @@ when defined(case_testfile): # compiled test file for child process
else:
import os, osproc, strutils, posix
import os, osproc, strutils
const nim = getCurrentCompilerExe()
block execShellCmdTest:
@@ -74,7 +74,7 @@ else:
block execProcessTest:
let dir = parentDir(currentSourcePath())
let (outp, err) = execCmdEx(nim & " c " & quoteShell(dir / "osproctest.nim"))
let (_, err) = execCmdEx(nim & " c " & quoteShell(dir / "osproctest.nim"))
doAssert err == 0
let exePath = dir / addFileExt("osproctest", ExeExt)
let outStr1 = execProcess(exePath, workingDir = dir, args = ["foo",