leftibot 67c98814d2 Fix #339: Prevent implicit move from lvalue references during dispatch
Cast_Helper_Inner<T&&> unconditionally called std::move() on the underlying
object, even when the Boxed_Value held an lvalue reference (is_ref() == true).
This caused T&& overloads to win over const T& overloads for objects returned
by reference, silently moving from and destroying persistent objects. The fix
rejects the T&& cast for reference Boxed_Values, allowing dispatch to fall
through to the correct const T& overload.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 19:47:57 -06:00
..
dispatchkit Fix #339: Prevent implicit move from lvalue references during dispatch 2026-04-13 19:47:57 -06:00
language Fix #61: Comprehensive exception test suite and fix for silently swallowed exceptions (#681) 2026-04-13 19:05:55 -06:00
utility Fix #499: Add object_from_json, map_to_object, and object_to_map functions (#676) 2026-04-13 15:44:04 -06:00
chaiscript_basic.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_defines.hpp Fix #146: Add configuration to bypass the registering of 'built-in' functions. (#642) 2026-04-11 16:49:13 -06:00
chaiscript_stdlib.hpp Fix #146: Add configuration to bypass the registering of 'built-in' functions. (#642) 2026-04-11 16:49:13 -06:00
chaiscript_threading.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript.hpp Fix #571: How to redirect "cout" and "print" to a microsoft Windows 10 window? (#657) 2026-04-11 18:58:09 -06:00