Skip to content

Commit 057ef46

Browse files
committed
fix case when a return value has ref
1 parent b56f3c8 commit 057ef46

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/litgen/internal/adapt_function_params/apply_all_adapters.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,12 @@ def _make_adapted_lambda_code_end(adapted_function: AdaptedFunction, lambda_adap
161161

162162
# Fill auto_r_equal_or_void
163163
_fn_return_type = adapted_function.cpp_adapted_function.str_full_return_type()
164-
auto_r_equal_or_void = "auto lambda_result = " if _fn_return_type != "void" else ""
164+
_return_referenced = False
165+
166+
if hasattr(adapted_function.cpp_element(), "return_type"):
167+
_return_referenced = '&' in adapted_function.cpp_element().return_type.modifiers
168+
169+
auto_r_equal_or_void = ("auto" + ("&" if _return_referenced else "") + " lambda_result = ") if _fn_return_type != "void" else ""
165170

166171
# Fill function_or_lambda_to_call
167172
if adapted_function.lambda_to_call is not None:

0 commit comments

Comments
 (0)