From 3a103669d18408cd75ca5c5c97c34f4222c6e217 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 19 Jul 2024 02:53:07 +0800 Subject: fixes #23858; 2.2.0 rc1 regression with cdecl functions (#23859) fixes #23858 We should not assign fields to fields for returns of function calls because calls might have side effects. --- tests/arc/tarc_orc.nim | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests') diff --git a/tests/arc/tarc_orc.nim b/tests/arc/tarc_orc.nim index 674ba0dbb..0e6208b4a 100644 --- a/tests/arc/tarc_orc.nim +++ b/tests/arc/tarc_orc.nim @@ -160,3 +160,14 @@ block: testCase() main() + +block: # bug #23858 + type Object = object + a: int + b: ref int + var x = 0 + proc fn(): auto {.cdecl.} = + inc x + return Object() + discard fn() + doAssert x == 1 -- cgit 1.4.1-2-gfad0