diff options
author | Araq <rumpf_a@web.de> | 2014-10-02 10:08:41 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-10-02 10:08:41 +0200 |
commit | c99ec1654452eede8b374eb85cb05b2e759be23f (patch) | |
tree | cf6362bf57bd1129654a89d05a305a99dcac00d2 /doc/manual/stmts.txt | |
parent | 2011805829089d631951411c4a7cc7ab33653712 (diff) | |
download | Nim-c99ec1654452eede8b374eb85cb05b2e759be23f.tar.gz |
deprecated string case statements without 'else'
Diffstat (limited to 'doc/manual/stmts.txt')
-rw-r--r-- | doc/manual/stmts.txt | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/doc/manual/stmts.txt b/doc/manual/stmts.txt index b706101e1..1307ff917 100644 --- a/doc/manual/stmts.txt +++ b/doc/manual/stmts.txt @@ -262,13 +262,11 @@ given *slicelist* the ``else`` part is executed. If there is no ``else`` part and not all possible values that ``expr`` can hold occur in a ``slicelist``, a static error occurs. This holds only for expressions of ordinal types. "All possible values" of ``expr`` are determined by ``expr``'s -type. +type. To suppress the static error an ``else`` part with an +empty ``discard`` statement should be used. -If the expression is not of an ordinal type, and no ``else`` part is -given, control passes after the ``case`` statement. - -To suppress the static error in the ordinal case an ``else`` part with an -empty ``discard`` statement can be used. +For non ordinal types it is not possible to list every possible value and so +these always require an ``else`` part. As a special semantic extension, an expression in an ``of`` branch of a case statement may evaluate to a set or array constructor; the set or array is then |