Actions
Bug #18973
closedKernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
    Bug #18973:
    Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
  
Description
I've noticed the following behavior:
sprintf("%c".encode("US-ASCII"), 128)
=> "\x80"
sprintf("%c".encode("US-ASCII"), 128).valid_encoding?
=> false
Specifying codepoints 128-255 for ASCII encoded formatting sequence leads to a broken string.
sprintf("%c".encode("US-ASCII"), 255)
=> "\xFF"
sprintf("%c".encode("US-ASCII"), 256)
(irb):17:in `sprintf': 256 out of char range (RangeError)
Specifying codepoint greater that 255 causes the expected exception out of char range.
I suppose this exception should be raised for codepoints 128-255 as well (for ASCII encoding).
Actions