diff --git a/doc/manual.txt b/doc/manual.txt index 49311fb43c..3ee02aaa4e 100755 --- a/doc/manual.txt +++ b/doc/manual.txt @@ -1299,6 +1299,22 @@ algorithm returns true: if b.kind == distinct and typeEquals(b.baseType, a): return true return false +You can, however, define your own implicit converters: + +.. code-block:: nimrod + converter toInt(x: char): int = result = ord(x) + + var + x: int + chr: char = 'a' + + # implicit conversion magic happens here + x = chr + echo x # => 97 + # you can use the explicit form too + x = chr.toInt + echo x # => 97 + Assignment compatibility ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/todo.txt b/todo.txt index 5fa136e1fd..46b037d34e 100755 --- a/todo.txt +++ b/todo.txt @@ -47,7 +47,6 @@ Low priority is allocated - implicit conversions from ``ptr/ref T`` to ``var T`` (from ``ptr/ref T`` to ``T``)? -- documentation: type converters - typeAllowed() for parameters... - find a way to reintroduce the cleanup() pass for C code generation: this is hard because of partial evaluation --> symbol files will fix this as