Known Limitations
This page summarizes current limitations and constraints in ruby-bindgen.
General
- Correct parsing depends on accurate
clang/clang-clinclude and language arguments. - Some libraries still require manual post-generation adjustments.
Rice Generation
- Generated code may not compile without manual fixes.
- Default argument reconstruction is heuristic and can fail for complex C++ expressions.
- Some APIs need explicit skipping via
symbolswithaction: skipto avoid compile/link failures. - Functions/methods with unsupported signatures may be skipped (for example variadic callables).
- Methods returning pointers/references to incomplete types are skipped.
- Deprecated APIs are skipped.
CMake Generation
format: CMakeis a second pass: it expects*-rb.cppfiles already generated byformat: Rice.- If no Rice output exists in
output, generated CMake source lists will be empty.
FFI Generation
- Runtime loading depends on correct
library_names/library_versionsand system loader paths.