From: cremno@... Date: 2015-01-10T13:03:30+00:00 Subject: [ruby-core:67497] [ruby-trunk - Feature #10728] Warning for Fixnum#size to use RbConfig::SIZEOF['long'] Issue #10728 has been updated by cremno phobia. I took a look at `fixnum-size-search.txt` and using `RbConfig::SIZEOF['long']` instead usually isn't the correct replacement. In many lines the size of `long` in bytes isn't of interest, the min- and maximum value of a fixnum is (see feature request #7517). ---------------------------------------- Feature #10728: Warning for Fixnum#size to use RbConfig::SIZEOF['long'] https://bugs.ruby-lang.org/issues/10728#change-50916 * Author: Akira Tanaka * Status: Open * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- How about add a warning for Fixnum#size ? ``` % ./ruby -e 'p 0.size' -e:1: warning: Use RbConfig::SIZEOF['long'] instead of Fixnum#size 8 ``` Currently it returns sizeof(long) which is 4 or 8. However it is implementation detail and it may difficult to define it in Ruby implementations other than CRuby. There is a way to obtain sizeof(long): RbConfig::SIZEOF['long'] It works since Ruby 2.1. ``` % ruby -rrbconfig/sizeof -e "p RbConfig::SIZEOF['long']" 8 ``` So the warning is a migration path to use RbConfig::SIZEOF['long']. Note that this may affect many code. So this issue may irritate many people. fixnum-size-search.txt is a search result in gems. ---Files-------------------------------- fixnum-size-search.txt (7.03 KB) fixnum-size-warning.patch (2.03 KB) -- https://bugs.ruby-lang.org/