fix #20997 calling system.card[T](x: set[T]) with T of int8 or uint8 … (#21010)

* fix #20997 calling system.card[T](x: set[T]) with T of int8 or uint8 uses mismatched C array sizes
* fullfil set variant
This commit is contained in:
Bung 2022-12-23 19:20:25 +08:00 • committed by GitHub
commit 0b319fee3d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 4 deletions

18
tests/sets/t20997.nim Normal file
View file

@ -0,0 +1,18 @@
discard """
joinable: false
"""
{.passC: "-flto".}
{.passL: "-flto".}
template f(n: int) = discard card(default(set[range[0 .. (1 shl n) - 1]]))
f( 7)
f( 8)
f( 9)
f(10)
f(11)
f(12)
f(13)
f(14)
f(15)
f(16)