summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/system.nim3
-rw-r--r--tests/sets/tsets.nim4
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/system.nim b/lib/system.nim
index 3db7d93f1..e24117670 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -1111,6 +1111,9 @@ proc card*[T](x: set[T]): int {.magic: "Card", noSideEffect.}
   ##   var a = {1, 3, 5, 7}
   ##   echo card(a) # => 4
 
+proc len*[T](x: set[T]): int {.magic: "Card", noSideEffect.}
+  ## An alias for `card(x)`.
+
 proc ord*[T: Ordinal|enum](x: T): int {.magic: "Ord", noSideEffect.}
   ## Returns the internal `int` value of an ordinal value ``x``.
   ##
diff --git a/tests/sets/tsets.nim b/tests/sets/tsets.nim
index e68007d32..dbbeed543 100644
--- a/tests/sets/tsets.nim
+++ b/tests/sets/tsets.nim
@@ -207,6 +207,10 @@ echo warnUninit in gNotes
 doAssert {-1.int8, -2, -2}.card == 2
 doAssert {1, 2, 2, 3..5, 4..6}.card == 6
 
+# merely test the alias
+doAssert {-1.int8, -2, -2}.len == 2
+doAssert {1, 2, 2, 3..5, 4..6}.len == 6
+
 type Foo = enum
   Foo1 = 0
   Foo2 = 1