From 4d9aec1858ecd8651276a5e1d6ca939d345b4d11 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Wed, 19 Sep 2018 21:17:48 +0200 Subject: Revert #7964 Somehow the test case doesn't crash anymore and the regression in the doc generation is fixed. Fixes #9019 --- tests/let/t7936.nim | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 tests/let/t7936.nim (limited to 'tests') diff --git a/tests/let/t7936.nim b/tests/let/t7936.nim new file mode 100644 index 000000000..3819dfc02 --- /dev/null +++ b/tests/let/t7936.nim @@ -0,0 +1,27 @@ +discard """ + action: "run" +""" + +import + tables, deques, sequtils + +const + lookupTable = {'(': ')', '{': '}', '[': ']'}.toTable + +proc isPaired*(value: string): bool = + var stack = initDeque[char]() + + for item in value: + # echo "Looking at " & item + if item in lookupTable: + stack.addLast(item) + if item in toSeq(lookupTable.values): + if stack.len == 0: + return false + if lookupTable[stack.popLast()] != item: + return false + + return stack.len == 0 + +doAssert isPaired("{[()]}") == true +doAssert isPaired("a)b(c") == false -- cgit 1.4.1-2-gfad0