Project

General

Profile

Feature #13083

Updated by nobu (Nobuyoshi Nakada) about 3 years ago

Just for consistency 

 * patch: https://github.com/ruby/ruby/pull/1506 
 * spec: https://github.com/ruby/spec/pull/380 

 Currently behaves as ( ruby --version: ruby 2.5.0dev (2016-12-28 trunk 57228) [x86_64-darwin16] ) 

 
 ~~~ ruby 
 'string'.__send__(:=~, nil) #=> nil 
 'string'.match(nil)           #=> TypeError: wrong argument type nil (expected Regexp) 
 'string'.match?(nil)          #=> TypeError: wrong argument type nil (expected Regexp) 
 :symbol.__send__(:=~, nil)    #=> nil 
 :symbol.match(nil)            #=> TypeError: wrong argument type nil (expected Regexp) 
 :symbol.match?(nil)           #=> TypeError: wrong argument type nil (expected Regexp) 
 /regex/.__send__(:=~, nil)    #=> nil 
 /regex/.match(nil)            #=> nil 
 /regex/.match?(nil)           #=> false 
 ~~~ 


 Expected to 

 
 ~~~ruby 
 'string'.__send__(:=~, nil) #=> nil 
 'string'.match(nil)           #=> nil 
 'string'.match?(nil)          #=> false 
 :symbol.__send__(:=~, nil)    #=> nil 
 :symbol.match(nil)            #=> nil 
 :symbol.match?(nil)           #=> false 
 /regex/.__send__(:=~, nil)    #=> nil 
 /regex/.match(nil)            #=> nil 
 /regex/.match?(nil)           #=> false 
 ~~~

Back