From 81a8786ca22b8edf8b18c8208bf1bffd868cd8fd Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Tue, 21 Apr 2026 15:24:35 +0300 Subject: [PATCH] tests: add test for or handling from result unexpected behavior (fixes #17850) --- vlib/v/tests/match_or_expr_test.v | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/vlib/v/tests/match_or_expr_test.v b/vlib/v/tests/match_or_expr_test.v index e9634bdbe..4ab3847a6 100644 --- a/vlib/v/tests/match_or_expr_test.v +++ b/vlib/v/tests/match_or_expr_test.v @@ -14,3 +14,43 @@ fn test_main() { assert result == 1 } + +struct Issue17850Error { + Error +} + +struct Issue17850Data { +pub: + name string +} + +fn (_ &Issue17850Error) msg() string { + return 'issue 17850' +} + +fn issue17850_do_thing(name string, fail bool) !Issue17850Data { + if fail { + return Issue17850Error{} + } + return Issue17850Data{ + name: name + } +} + +fn test_result_or_block_match_error_type() { + data := issue17850_do_thing('my_db', true) or { + match err { + Issue17850Error { + Issue17850Data{ + name: 'my_db' + } + } + else { + panic(err) + } + } + } + assert data == Issue17850Data{ + name: 'my_db' + } +} -- 2.39.5