[Bug #20883] Fix coderange for sprintf on binary strings (#12040)
Fix update_coderange for binary strings
Although a binary (aka ASCII-8BIT) string will never have a broken
coderange, it still has to differentiate between "valid" and "7bit".
On Ruby 3.4/trunk this problem is masked because we now clear the
coderange more agressively in rb_str_resize, and we happened to always
be strinking this string, but we should not assume that.
On Ruby 3.3 this created strings where ascii_only? was true in cases
it shouldn't be as well as other problems.
[Bug #20883] Fix coderange for sprintf on binary strings (#12040)
Fix update_coderange for binary strings
Although a binary (aka ASCII-8BIT) string will never have a broken
coderange, it still has to differentiate between "valid" and "7bit".
On Ruby 3.4/trunk this problem is masked because we now clear the
coderange more agressively in rb_str_resize, and we happened to always
be strinking this string, but we should not assume that.
On Ruby 3.3 this created strings where
ascii_only?
was true in casesit shouldn't be as well as other problems.
Fixes [Bug #20883]
Co-authored-by: Daniel Colson [email protected]
Co-authored-by: Matthew Draper [email protected]