This commit is contained in:
flywind
2021-02-17 23:59:58 -06:00
committed by GitHub
parent 4c568734f4
commit 8873ec6084
2 changed files with 30 additions and 4 deletions

View File

@@ -2180,7 +2180,11 @@ proc genSetConstr(p: PProc, n: PNode, r: var TCompRes) =
if it.kind == nkRange:
gen(p, it[0], a)
gen(p, it[1], b)
r.res.addf("[$1, $2]", [a.res, b.res])
if it[0].typ.kind == tyBool:
r.res.addf("$1, $2", [a.res, b.res])
else:
r.res.addf("[$1, $2]", [a.res, b.res])
else:
gen(p, it, a)
r.res.add(a.res)

View File

@@ -1,14 +1,15 @@
discard """
targets: "c cpp js"
output: '''
set is empty
'''
"""
import sets, hashes
import std/[sets, hashes]
from sequtils import toSeq
from algorithm import sorted
from std/sequtils import toSeq
from std/algorithm import sorted
proc sortedPairs[T](t: T): auto = toSeq(t.pairs).sorted
template sortedItems(t: untyped): untyped = sorted(toSeq(t))
@@ -254,3 +255,24 @@ block: # test correctness after a number of inserts/deletes
testDel(): (var t: HashSet[int])
testDel(): (var t: OrderedSet[int])
template main() =
block:
let a = {true, false}
doAssert $a == "{false, true}"
doAssert a.len == 2
block:
let a = {false .. true}
doAssert $a == "{false, true}"
doAssert a.len == 2
block:
let a = {false .. false}
doAssert $a == "{false}"
doAssert a.len == 1
static: main()
main()