From: eitoball@... Date: 2016-05-28T12:56:01+00:00 Subject: [ruby-core:75762] [Ruby trunk Bug#12434] Marshal.dump does not dump some numbers as Fixnum Issue #12434 has been reported by Eito Katagiri. ---------------------------------------- Bug #12434: Marshal.dump does not dump some numbers as Fixnum https://bugs.ruby-lang.org/issues/12434 * Author: Eito Katagiri * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.4.0dev (2016-05-28 trunk 55197) [x86_64-darwin15] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- `Marshal.dump` dumps numbers between 1073741824 and 4294967295 and between -4294967296 and -1073741825 as `Bignum`, but I think that those numbers should be dumped as `Fixnum`. ~~~ $ ./ruby --disable-gems -e'p Marshal.load("\x04\bi\x04\x00\x00\x00\x40")' 1073741824 $ ./ruby --disable-gems -e'p Marshal.dump(1073741824)' "\x04\bl+\a\x00\x00\x00@" $ ./ruby --disable-gems -e'p Marshal.load("\x04\bi\xfc\x00\x00\x00\x00")' -4294967296 $ ./ruby --disable-gems -e'p Marshal.dump(-4294967296)' "\x04\bl-\b\x00\x00\x00\x00\x01\x00" ~~~ I created proposed patch and submit pull request to https://github.com/ruby/ruby/pull/1366 -- https://bugs.ruby-lang.org/ Unsubscribe: