diff options
-rw-r--r-- | doc/manual.rst | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/doc/manual.rst b/doc/manual.rst index 5aca1be80..92235821b 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -4805,7 +4805,6 @@ The following example shows how a generic binary tree can be modeled: The ``T`` is called a `generic type parameter`:idx: or a `type variable`:idx:. - Is operator ----------- @@ -4861,6 +4860,12 @@ more complex type classes: for key, value in fieldPairs(rec): echo key, " = ", value +Type constraints on generic parameters can be grouped with `,` and propagation +stops with `;`, similarly to parameters for macros and templates: + +.. code-block:: nim + proc fn1[T; U, V: SomeFloat]() = discard # T is unconstrained + template fn2(t; u, v: SomeFloat) = discard # t is unconstrained Whilst the syntax of type classes appears to resemble that of ADTs/algebraic data types in ML-like languages, it should be understood that type classes are static |