parent
5b26f2bd81
commit
061a9183f7
5 changed files with 8 additions and 6 deletions
|
|
@ -860,7 +860,7 @@ type
|
||||||
case kind*: TSymKind
|
case kind*: TSymKind
|
||||||
of routineKinds:
|
of routineKinds:
|
||||||
#procInstCache*: seq[PInstantiation]
|
#procInstCache*: seq[PInstantiation]
|
||||||
gcUnsafetyReason*: PSym # for better error messages wrt gcsafe
|
gcUnsafetyReason*: PSym # for better error messages regarding gcsafe
|
||||||
transformedBody*: PNode # cached body after transf pass
|
transformedBody*: PNode # cached body after transf pass
|
||||||
of skLet, skVar, skField, skForVar:
|
of skLet, skVar, skField, skForVar:
|
||||||
guard*: PSym
|
guard*: PSym
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ proc presentationPath*(conf: ConfigRef, file: AbsoluteFile): RelativeFile =
|
||||||
if result.isEmpty: bail()
|
if result.isEmpty: bail()
|
||||||
elif conf.docRoot.len > 0:
|
elif conf.docRoot.len > 0:
|
||||||
# we're (currently) requiring `isAbsolute` to avoid confusion when passing
|
# we're (currently) requiring `isAbsolute` to avoid confusion when passing
|
||||||
# a relative path (would it be relative wrt $PWD or to projectfile)
|
# a relative path (would it be relative with regard to $PWD or to projectfile)
|
||||||
conf.globalAssert conf.docRoot.isAbsolute, arg=conf.docRoot
|
conf.globalAssert conf.docRoot.isAbsolute, arg=conf.docRoot
|
||||||
conf.globalAssert conf.docRoot.dirExists, arg=conf.docRoot
|
conf.globalAssert conf.docRoot.dirExists, arg=conf.docRoot
|
||||||
# needed because `canonicalizePath` called on `file`
|
# needed because `canonicalizePath` called on `file`
|
||||||
|
|
|
||||||
|
|
@ -390,7 +390,7 @@ proc idOrSig*(s: PSym, currentModule: string,
|
||||||
sigCollisions: var CountTable[SigHash]): Rope =
|
sigCollisions: var CountTable[SigHash]): Rope =
|
||||||
if s.kind in routineKinds and s.typ != nil:
|
if s.kind in routineKinds and s.typ != nil:
|
||||||
# signatures for exported routines are reliable enough to
|
# signatures for exported routines are reliable enough to
|
||||||
# produce a unique name and this means produced C++ is more stable wrt
|
# produce a unique name and this means produced C++ is more stable regarding
|
||||||
# Nim changes:
|
# Nim changes:
|
||||||
let sig = hashProc(s)
|
let sig = hashProc(s)
|
||||||
result = rope($sig)
|
result = rope($sig)
|
||||||
|
|
|
||||||
|
|
@ -442,9 +442,11 @@ proc ident*(name: string): NimNode {.magic: "StrToIdent", noSideEffect.}
|
||||||
## Create a new ident node from a string.
|
## Create a new ident node from a string.
|
||||||
|
|
||||||
type
|
type
|
||||||
BindSymRule* = enum ## specifies how `bindSym` behaves
|
BindSymRule* = enum ## Specifies how `bindSym` behaves. The difference
|
||||||
|
## between open and closed symbols can be found in
|
||||||
|
## `<manual.html#symbol-lookup-in-generics-open-and-closed-symbols>`_
|
||||||
brClosed, ## only the symbols in current scope are bound
|
brClosed, ## only the symbols in current scope are bound
|
||||||
brOpen, ## open wrt overloaded symbols, but may be a single
|
brOpen, ## open for overloaded symbols, but may be a single
|
||||||
## symbol if not ambiguous (the rules match that of
|
## symbol if not ambiguous (the rules match that of
|
||||||
## binding in generics)
|
## binding in generics)
|
||||||
brForceOpen ## same as brOpen, but it will always be open even
|
brForceOpen ## same as brOpen, but it will always be open even
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ var x = [[1, 2, 3], [4, 5, 6]]
|
||||||
for y in iter1(x[0]): write(stdout, $y)
|
for y in iter1(x[0]): write(stdout, $y)
|
||||||
writeLine(stdout, "")
|
writeLine(stdout, "")
|
||||||
|
|
||||||
# ensure closure and inline iterators have the same behaviour wrt
|
# ensure closure and inline iterators have the same behaviour regarding
|
||||||
# parameter passing
|
# parameter passing
|
||||||
|
|
||||||
iterator clo(a: int): int {.closure.} =
|
iterator clo(a: int): int {.closure.} =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue