mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-02 03:02:31 +00:00
21 lines
700 B
Plaintext
21 lines
700 B
Plaintext
Taint mode
|
|
==========
|
|
|
|
The Nim compiler and most parts of the standard library support
|
|
a taint mode. Input strings are declared with the `TaintedString`:idx:
|
|
string type declared in the ``system`` module.
|
|
|
|
If the taint mode is turned on (via the ``--taintMode:on`` command line
|
|
option) it is a distinct string type which helps to detect input
|
|
validation errors:
|
|
|
|
.. code-block:: nim
|
|
echo "your name: "
|
|
var name: TaintedString = stdin.readline
|
|
# it is safe here to output the name without any input validation, so
|
|
# we simply convert `name` to string to make the compiler happy:
|
|
echo "hi, ", name.string
|
|
|
|
If the taint mode is turned off, ``TaintedString`` is simply an alias for
|
|
``string``.
|