From 65c2518d5cae79084190dfd9bdfc757572ed2e79 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Thu, 29 Sep 2022 04:05:41 +0800 Subject: fix #19500; remove find optimization [backport: 1.6] (#19714) * remove find optimization close #19500 * save find to std * add simple tests * Apply suggestions from code review Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> Co-authored-by: sandytypical <43030857+xflywind@users.noreply.github.com> Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> --- tests/stdlib/tstrimpl.nim | 6 ++++++ tests/stdlib/tstrutils.nim | 5 +++++ 2 files changed, 11 insertions(+) create mode 100644 tests/stdlib/tstrimpl.nim (limited to 'tests/stdlib') diff --git a/tests/stdlib/tstrimpl.nim b/tests/stdlib/tstrimpl.nim new file mode 100644 index 000000000..4d0ef827f --- /dev/null +++ b/tests/stdlib/tstrimpl.nim @@ -0,0 +1,6 @@ +import std/private/strimpl + +doAssert find(cstring"Hello Nim", cstring"Nim") == 6 +doAssert find(cstring"Hello Nim", cstring"N") == 6 +doAssert find(cstring"Hello Nim", cstring"I") == -1 +doAssert find(cstring"Hello Nim", cstring"O") == -1 diff --git a/tests/stdlib/tstrutils.nim b/tests/stdlib/tstrutils.nim index 0e6384d7e..32929ef17 100644 --- a/tests/stdlib/tstrutils.nim +++ b/tests/stdlib/tstrutils.nim @@ -868,5 +868,10 @@ bar doAssert nimIdentNormalize("Foo_bar") == "Foobar" doAssert nimIdentNormalize("_Foo_bar") == "_foobar" + block: # bug #19500 + doAssert "abc \0 def".find("def") == 6 + doAssert "abc \0 def".find('d') == 6 + + static: main() main() -- cgit 1.4.1-2-gfad0