mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-03 03:32:32 +00:00
provide better error messages for large set (#20207)
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
This commit is contained in:
@@ -17,7 +17,7 @@ const
|
||||
errWrongNumberOfVariables = "wrong number of variables"
|
||||
errInvalidOrderInEnumX = "invalid order in enum '$1'"
|
||||
errOrdinalTypeExpected = "ordinal type expected"
|
||||
errSetTooBig = "set is too large"
|
||||
errSetTooBig = "set is too large; use `std/sets` for ordinal types with more than 2^16 elements"
|
||||
errBaseTypeMustBeOrdinal = "base type of a set must be an ordinal"
|
||||
errInheritanceOnlyWithNonFinalObjects = "inheritance only works with non-final objects"
|
||||
errXExpectsOneTypeParam = "'$1' expects one type parameter"
|
||||
|
||||
@@ -13,9 +13,13 @@ range `0 .. MaxSetElements-1` where `MaxSetElements` is currently always
|
||||
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:
|
||||
|
||||
```nim
|
||||
var s: set[int64] # Error: set is too large
|
||||
```
|
||||
```nim
|
||||
|
||||
var s: set[int64] # Error: set is too large; use `std/sets` for ordinal types
|
||||
# with more than 2^16 elements
|
||||
|
||||
```
|
||||
|
||||
|
||||
**Note:** Nim also offers `hash sets <sets.html>`_ (which you need to import
|
||||
with `import sets`), which have no such restrictions.
|
||||
|
||||
Reference in New Issue
Block a user