From 60ddbf1e455eda7536d8731ea263adcf5b21eaf5 Mon Sep 17 00:00:00 2001 From: Danil Yarantsev Date: Mon, 19 Oct 2020 14:16:56 +0300 Subject: [PATCH] Add tests to #15363 (#15633) (cherry picked from commit d22ab0fb9688f4322ba438af88927b414f3a898c) --- tests/vm/tvmmisc.nim | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/vm/tvmmisc.nim b/tests/vm/tvmmisc.nim index 7ac75c7c5a..73faac4955 100644 --- a/tests/vm/tvmmisc.nim +++ b/tests/vm/tvmmisc.nim @@ -204,3 +204,29 @@ block: # bug #13081 doAssert j1.x1 == 12 static: doAssert j1.x1 == 12 + +# bug #15363 +import sequtils + +block: + func identity(a: bool): bool = a + + var a: seq[bool] = static: + newSeq[bool](0).mapIt(it) # segfaults + var b: seq[bool] = static: + newSeq[bool](0).filterIt(it) # does not segfault + var c: seq[bool] = static: + newSeq[bool](0).map(identity) # does not segfault + var d: seq[bool] = static: + newSeq[bool](0).map(proc (a: bool): bool = false) # segfaults + var e: seq[bool] = static: + newSeq[bool](0).filter(identity) # does not segfault + var f: seq[bool] = static: + newSeq[bool](0).filter(proc (a: bool): bool = false) # segfaults + + doAssert a == @[] + doAssert b == @[] + doAssert c == @[] + doAssert d == @[] + doAssert e == @[] + doAssert f == @[]