diff options
-rw-r--r-- | tests/arc/tarc_orc.nim | 12 | ||||
-rw-r--r-- | tests/types/ttopdowninference.nim | 24 |
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/arc/tarc_orc.nim b/tests/arc/tarc_orc.nim index c6a7845b0..981567350 100644 --- a/tests/arc/tarc_orc.nim +++ b/tests/arc/tarc_orc.nim @@ -33,3 +33,15 @@ proc bug20303() = doAssert res == "are" bug20303() + +proc main() = # todo bug with templates + block: # bug #11267 + var a: seq[char] = block: @[] + doAssert a == @[] + # 2 + proc b: seq[string] = + discard + @[] + doAssert b() == @[] +static: main() +main() diff --git a/tests/types/ttopdowninference.nim b/tests/types/ttopdowninference.nim index 296729cd8..a637b167c 100644 --- a/tests/types/ttopdowninference.nim +++ b/tests/types/ttopdowninference.nim @@ -193,3 +193,27 @@ block: # templates doAssert a == float(1) doAssert b == byte(2) doAssert c == cstring("abc") + + +proc foo(): set[char] = # bug #11259 + discard "a" + {} + +discard foo() + +block: # bug #11085 + const ok1: set[char] = {} + var ok1b: set[char] = {} + + const ok2: set[char] = block: + {} + + const ok3: set[char] = block: + var x: set[char] = {} + x + var ok3b: set[char] = block: + var x: set[char] = {} + x + + var bad: set[char] = block: + {} |