From 45e6fea4de3d2299eea3fd737e776958380861e7 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Wed, 25 Mar 2026 16:42:18 +0300 Subject: [PATCH] checker: fix compiler bug when running tests (fixes #18121) --- ...option_assert_eq_none_then_if_guard_test.v | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 vlib/v/tests/options/option_assert_eq_none_then_if_guard_test.v diff --git a/vlib/v/tests/options/option_assert_eq_none_then_if_guard_test.v b/vlib/v/tests/options/option_assert_eq_none_then_if_guard_test.v new file mode 100644 index 000000000..ed484e9f7 --- /dev/null +++ b/vlib/v/tests/options/option_assert_eq_none_then_if_guard_test.v @@ -0,0 +1,35 @@ +module main + +struct Todo { + title string +} + +type TodosStore = []Todo + +fn (mut ts TodosStore) add_todo(td Todo) { + ts << td +} + +fn (ts TodosStore) get_todo(id int) ?Todo { + if id > ts.len { + return none + } + return ts[id - 1] +} + +fn test_option_assert_eq_none_then_if_guard() { + td := Todo{ + title: 'title1' + } + mut ts := TodosStore([]Todo{}) + assert ts.len == 0 + assert ts.get_todo(5) == none + + ts.add_todo(td) + + if gtd := ts.get_todo(1) { + assert gtd.title == 'title1' + } else { + assert false + } +} -- 2.39.5