added a warning that the .deprecate statement is unreliable for routines

This commit is contained in:
Andreas Rumpf
2017-11-21 10:48:19 +01:00
parent 0e67fc7450
commit 58187f2120
7 changed files with 5 additions and 15 deletions

View File

@@ -626,7 +626,8 @@ proc deprecatedStmt(c: PContext; pragma: PNode) =
for n in pragma:
if n.kind in {nkExprColonExpr, nkExprEqExpr}:
let dest = qualifiedLookUp(c, n[1], {checkUndeclared})
assert dest != nil
if dest == nil or dest.kind in routineKinds:
localError(n.info, warnUser, "the .deprecated pragma is unreliable for routines")
let src = considerQuotedIdent(n[0])
let alias = newSym(skAlias, src, dest, n[0].info)
incl(alias.flags, sfExported)

View File

@@ -74,8 +74,6 @@ proc decodeUrl*(s: string): string =
inc(j)
setLen(result, j)
{.deprecated: [URLDecode: decodeUrl, URLEncode: encodeUrl].}
proc addXmlChar(dest: var string, c: char) {.inline.} =
case c
of '&': add(dest, "&")
@@ -101,8 +99,7 @@ type
methodPost, ## query uses the POST method
methodGet ## query uses the GET method
{.deprecated: [TRequestMethod: RequestMethod, ECgi: CgiError,
XMLencode: xmlEncode].}
{.deprecated: [TRequestMethod: RequestMethod, ECgi: CgiError].}
proc cgiError*(msg: string) {.noreturn.} =
## raises an ECgi exception with message `msg`.

View File

@@ -110,8 +110,6 @@ proc deduplicate*[T](s: openArray[T]): seq[T] =
for itm in items(s):
if not result.contains(itm): result.add(itm)
{.deprecated: [distnct: deduplicate].}
proc zip*[S, T](s1: openArray[S], s2: openArray[T]): seq[tuple[a: S, b: T]] =
## Returns a new sequence with a combination of the two input containers.
##

View File

@@ -56,9 +56,6 @@ proc raiseOSError*(msg: string = "") {.noinline, rtl, extern: "nos$1",
raise newException(OSError, msg)
{.pop.}
when not defined(nimfix):
{.deprecated: [osError: raiseOSError].}
proc `==`*(err1, err2: OSErrorCode): bool {.borrow.}
proc `$`*(err: OSErrorCode): string {.borrow.}

View File

@@ -95,7 +95,7 @@ type
AsyncScgiState* = ref AsyncScgiStateObj
{.deprecated: [EScgi: ScgiError, TScgiState: ScgiState,
PAsyncScgiState: AsyncScgiState, scgiError: raiseScgiError].}
PAsyncScgiState: AsyncScgiState].}
proc recvBuffer(s: var ScgiState, L: int) =
if L > s.bufLen:

View File

@@ -3118,9 +3118,6 @@ when not defined(JS): #and not defined(nimscript):
## returns the OS file handle of the file ``f``. This is only useful for
## platform specific programming.
when not defined(nimfix):
{.deprecated: [fileHandle: getFileHandle].}
when declared(newSeq):
proc cstringArrayToSeq*(a: cstringArray, len: Natural): seq[string] =
## converts a ``cstringArray`` to a ``seq[string]``. `a` is supposed to be

View File

@@ -61,7 +61,7 @@ proc testGetFileInfo =
block:
let
testFile = open(getAppFilename())
testHandle = fileHandle(testFile)
testHandle = getFileHandle(testFile)
try:
discard getFileInfo(testFile)
#echo("Handle : Valid File : Success")