Repository navigation
Initialize structs using default values before parsing; resolves #719 and #700 - #737
liuzicheng1987 wants to merge 14 commits into
Conversation
|
PR #737 Review — Main Findings PR: "Initialize structs using default values before parsing" (fixes #719, #700). Replaces the raw-byte-buffer + placement-new + manual-destructor parsing scheme with real value initialization (T t{}) + assignment; makes rfl::Validator store a Result so it can Bugs (verified at PR head, GCC 13.3, repro code in /tmp/rflprobe/)
Confirmed fixes (PR goals work)
Secondary findings (code-reading, not runtime-verified)
Bottom line The core mechanism (real objects instead of placement-new; error-holding Validator) is sound and fixes both target issues, but as-is the PR should not merge: two crash/regression bugs (map-key terminate, non-default-constructible compile break), one silent Still open when interrupted: pinning the exact corruption line (3), a backtrace for the terminate (1), and per-file pass over the untouched areas (MapParser write refactor, ArrowReader — its return std::move(*ptr) suggests it may still use the old buffer, |
No description provided.