Skip to content

Fix #374: std::vector of std::vectors ChaiScript conversion failure#692

Merged
lefticus merged 1 commit intoChaiScript:developfrom
leftibot:fix/issue-374-std-vector-of-std-vectors-chaiscript-con
Apr 18, 2026
Merged

Fix #374: std::vector of std::vectors ChaiScript conversion failure#692
lefticus merged 1 commit intoChaiScript:developfrom
leftibot:fix/issue-374-std-vector-of-std-vectors-chaiscript-con

Conversation

@leftibot
Copy link
Copy Markdown
Contributor

Automated fix by @leftibot.

What changed

Fix #374: Support nested vector type conversions
vector_conversion's element conversion used Cast_Helper directly, which
only performs exact type matching. For nested vectors like
std::vector<std::vector>, each inner element is a
std::vector<Boxed_Value> that needs its own conversion to
std::vector. Added a recursive convert_vector_element helper
that detects std::vector value types and converts them from
std::vector<Boxed_Value> before falling back to Cast_Helper for
leaf types.
Co-Authored-By: Claude Opus 4.6 (1M context) [email protected]

Files

 .../chaiscript/dispatchkit/type_conversions.hpp    | 25 ++++++++++++++++++-
 unittests/compiled_tests.cpp                       | 29 ++++++++++++++++++++++
 2 files changed, 53 insertions(+), 1 deletion(-)

Closes #374

Triggered by @lefticus.

vector_conversion's element conversion used Cast_Helper directly, which
only performs exact type matching. For nested vectors like
std::vector<std::vector<double>>, each inner element is a
std::vector<Boxed_Value> that needs its own conversion to
std::vector<double>. Added a recursive convert_vector_element helper
that detects std::vector value types and converts them from
std::vector<Boxed_Value> before falling back to Cast_Helper for
leaf types.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@lefticus lefticus merged commit d2ec2a8 into ChaiScript:develop Apr 18, 2026
21 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

std::vector of std::vectors ChaiScript conversion failure

2 participants