fix(array|debug): array/hash strict equality and var_dump nested recursion#438
Draft
Guikingone wants to merge 1 commit into
Draft
fix(array|debug): array/hash strict equality and var_dump nested recursion#438Guikingone wants to merge 1 commit into
Guikingone wants to merge 1 commit into
Conversation
illegalstudio#424: array/hash strict equality (===) was unsupported by the EIR backend, causing a compile error. New runtime helpers __rt_array_strict_eq and __rt_hash_strict_eq compare indexed arrays and hashes element-by-element following insertion-order chains. Pointer-identity short-circuit handles aliases and cycles. String elements compare via __rt_str_eq; Mixed elements via __rt_mixed_strict_eq. Loose equality (==) deferred. illegalstudio#388: var_dump printed NULL for nested arrays/hashes instead of recursing. New __rt_var_dump_value recursive renderer dispatches on runtime tags: arrays/hashes recurse with 2-space-per-level indent, Mixed cells unbox and redispatch. Depth cap at 128 prevents stack overflow on cyclic arrays. Rodata literals updated to remove baked-in 2-space prefix; indentation is now driven by __rt_var_dump_spaces. Objects (tag 6) remain NULL (documented limitation).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#424: array/hash strict equality (===) was unsupported by the EIR backend, causing a compile error. New runtime helpers __rt_array_strict_eq and __rt_hash_strict_eq compare indexed arrays and hashes element-by-element following insertion-order chains. Pointer-identity short-circuit handles aliases and cycles. String elements compare via __rt_str_eq; Mixed elements via __rt_mixed_strict_eq. Loose equality (==) deferred.
#388: var_dump printed NULL for nested arrays/hashes instead of recursing. New __rt_var_dump_value recursive renderer dispatches on runtime tags: arrays/hashes recurse with 2-space-per-level indent, Mixed cells unbox and redispatch. Depth cap at 128 prevents stack overflow on cyclic arrays. Rodata literals updated to remove baked-in 2-space prefix; indentation is now driven by __rt_var_dump_spaces. Objects (tag 6) remain NULL (documented limitation).