🎉
[Bug #21437] 同じ日付でも年の値が巨大な場合に Date#hash の値が異なるというバグ報告
[Bug #21437] Date#hash may return different values for equal dates with large years
- 同じ日付でも年の値が巨大な場合に
Date#hashの値が異なるというバグ報告
require "date"
# こっちは同じ値になる
p Date.strptime('2024-5-9', '%Y-%m-%d').hash
#=> -1357545723973108007
p Date.strptime('2024-5-9', '%Y-%m-%d').hash
#=> -1357545723973108007
# 年が巨大な場合は異なる値になる
p Date.strptime('3171505571716611468830131104691-5-9', '%Y-%m-%d').hash
# => 3430477290328783520
p Date.strptime('3171505571716611468830131104691-5-9', '%Y-%m-%d').hash
# => -3008846236258064024
- この不具合は開発版の Ruby 3.5-dev で修正済み
require "date"
p Date.strptime('3171505571716611468830131104691-5-9', '%Y-%m-%d').hash
# => 3430477290328783520
p Date.strptime('3171505571716611468830131104691-5-9', '%Y-%m-%d').hash
# => -3008846236258064024
Discussion