diff --git a/doc/sets_fragment.txt b/doc/sets_fragment.txt index 84b13e6724..15f0962efd 100644 --- a/doc/sets_fragment.txt +++ b/doc/sets_fragment.txt @@ -1,6 +1,16 @@ The set type models the mathematical notion of a set. The set's -basetype can only be an ordinal type. The reason is that sets are implemented -as high performance bit vectors. +basetype can only be an ordinal type of a certain size, namely: + * ``int8``-``int16`` + * ``uint8``/``byte``-``uint16`` + * ``char`` + * ``enum`` +or equivalent. The reason is that sets are implemented as high +performance bit vectors. Attempting to declare a set with a larger type will +result in an error: + +.. code-block:: nim + + var s: set[int64] # Error: set is too large Sets can be constructed via the set constructor: ``{}`` is the empty set. The empty set is type compatible with any concrete set type. The constructor