From: nagachika00@... Date: 2016-11-16T14:30:04+00:00 Subject: [ruby-core:78173] [Ruby trunk Bug#12920] Strange NoMethodError in Time.now Issue #12920 has been updated by Tomoyuki Chikanaga. OMG I've confirmed with the script in the description (prepend and using with Integer) and it cannot reproduce NoMethodError on 2.3.2. But it's because Time.now doesn't use Integer#+ but Fixnum#+. I've confirmed https://bugs.ruby-lang.org/issues/12920#note-3 was reproducible. I'm going to backport this and try to understand the impact of this issue. ---------------------------------------- Bug #12920: Strange NoMethodError in Time.now https://bugs.ruby-lang.org/issues/12920#change-61544 * Author: Kouhei Yanagita * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.4.0dev (2016-11-10 trunk 56692) [x86_64-darwin15] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: REQUIRED ---------------------------------------- I got a strange NoMethodError in Time.now. ~~~ Integer.prepend(Module.new) module Foo refine Integer do define_method(:+) { } end end Time.now ~~~ ~~~ % ~/tmp/ruby-trunk/bin/ruby -v a.rb ruby 2.4.0dev (2016-11-10 trunk 56692) [x86_64-darwin15] a.rb:7:in `initialize': undefined method `+' for 1478773005000000000:Integer (NoMethodError) from a.rb:7:in `now' from a.rb:7:in `
' ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: