parent
c90b4ecddc
commit
fe4a59f12b
1 changed files with 19 additions and 0 deletions
|
|
@ -5085,6 +5085,25 @@ The problem here is that the compiler already decided that ``something()`` as
|
||||||
an iterator is not callable in this context before ``toSeq`` gets its
|
an iterator is not callable in this context before ``toSeq`` gets its
|
||||||
chance to convert it into a sequence.
|
chance to convert it into a sequence.
|
||||||
|
|
||||||
|
It is also not possible to use fully qualified identifiers with module
|
||||||
|
symbol in method call syntax. The order in which the dot operator
|
||||||
|
binds to symbols prohibits this.
|
||||||
|
|
||||||
|
.. code-block:: nim
|
||||||
|
:test: "nim c $1"
|
||||||
|
:status: 1
|
||||||
|
|
||||||
|
import sequtils
|
||||||
|
|
||||||
|
var myItems = @[1,3,3,7]
|
||||||
|
let N1 = count(myItems, 3) # OK
|
||||||
|
let N2 = sequtils.count(myItems, 3) # fully qualified, OK
|
||||||
|
let N3 = myItems.count(3) # OK
|
||||||
|
let N4 = myItems.sequtils.count(3) # illegal, `myItems.sequtils` can't be resolved
|
||||||
|
|
||||||
|
This means that when for some reason a procedure needs a
|
||||||
|
disambiguation through the module name, the call needs to be
|
||||||
|
written in function call syntax.
|
||||||
|
|
||||||
Macros
|
Macros
|
||||||
======
|
======
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue