Issue #19150 has been updated by Eregon (Benoit Daloze).
Status changed from Open to Closed
Backport changed from 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN to 2.7: DONTNEED, 3.0:
DONTNEED, 3.1: DONTNEED
Done in
https://github.com/ruby/ruby/commit/03dd37775afb40eef392ae2920d728235af302c8, also
needed changes in specs:
https://github.com/ruby/spec/commit/9d69b95a7bbac3d89e7218a98bd50ecf173d9c6f
----------------------------------------
Bug #19150: pack/unpack silently ignores unknown directives
https://bugs.ruby-lang.org/issues/19150#change-101046
* Author: Eregon (Benoit Daloze)
* Status: Closed
* Priority: Normal
* Target version: 3.3
* Backport: 2.7: DONTNEED, 3.0: DONTNEED, 3.1: DONTNEED
----------------------------------------
But I believe it should be an error instead.
Typically when a parser sees a syntax error it should fail not continue silently.
For instance `[1].pack('<L')` succeeds and only emits a warning if `$VERBOSE`
is true.
This behavior caused confusion in
https://github.com/oracle/truffleruby/issues/2791
I think it should fail with an `ArgumentError` instead.
Extracted from
https://bugs.ruby-lang.org/issues/19108#note-3
--
https://bugs.ruby-lang.org/