Add compile-time paragraph to manual

Includes a note in the manual entry for case statements clarifying that the branch values must be known at compile time.
This commit is contained in:
Zach Smith 2017-12-28 14:10:27 -05:00 • committed by Andreas Rumpf
commit 3714e2f871

View file

@ -296,6 +296,10 @@ empty ``discard`` statement should be used.
For non ordinal types it is not possible to list every possible value and so For non ordinal types it is not possible to list every possible value and so
these always require an ``else`` part. these always require an ``else`` part.
As case statements perform compile-time exhaustiveness checks, the value in
every ``of`` branch must be known at compile time. This fact is also exploited
to generate more performant code.
As a special semantic extension, an expression in an ``of`` branch of a case 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 statement may evaluate to a set or array constructor; the set or array is then
expanded into a list of its elements: expanded into a list of its elements: