mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-04 02:44:44 +00:00
@@ -2412,10 +2412,13 @@ when notJSnotNims:
|
||||
{.error: "Only closure function and iterator are allowed!".}
|
||||
|
||||
proc finished*[T: proc](x: T): bool {.noSideEffect, inline.} =
|
||||
## can be used to determine if a first class iterator has finished.
|
||||
{.emit: """
|
||||
`result` = ((NI*) `x`.ClE_0)[1] < 0;
|
||||
""".}
|
||||
## It can be used to determine if a first class iterator has finished.
|
||||
when T is "iterator":
|
||||
{.emit: """
|
||||
`result` = ((NI*) `x`.ClE_0)[1] < 0;
|
||||
""".}
|
||||
else:
|
||||
{.error: "Only closure iterator is allowed!".}
|
||||
|
||||
when defined(js):
|
||||
include "system/jssys"
|
||||
|
||||
@@ -210,3 +210,10 @@ block: # Ordinal
|
||||
# doAssert enum is Ordinal # fails
|
||||
# doAssert Ordinal is SomeOrdinal
|
||||
# doAssert SomeOrdinal is Ordinal
|
||||
|
||||
block:
|
||||
proc p() = discard
|
||||
|
||||
doAssert not compiles(echo p.rawProc.repr)
|
||||
doAssert not compiles(echo p.rawEnv.repr)
|
||||
doAssert not compiles(echo p.finished)
|
||||
|
||||
Reference in New Issue
Block a user