Project

General

Profile

Misc #19088

Updated by andrykonchin (Andrew Konchin) over 1 year ago

I've noticed a minor inconsistency of the `Complex()` method. When it is called with `exception: false` option I suppose it shouldn't raise any exception. 

 For instance it doesn't raise error in the following cases: 

 ```ruby 
 Complex("1+2ifoobar", exception: false) # => nil 
 Complex("1+2i\0", exception: false) # => nil 
 ``` 

 But it still raises error when argument is in non-ASCII-compatible encoding: 

 ```ruby 
 Complex("1+2i".encode("UTF-16"), exception: false) 
 (irb):4:in `Complex': ASCII incompatible encoding: UTF-16 (Encoding::CompatibilityError) 
 ``` 

 I am wondering if `exception: false` is supposed to suppress and this exception as well.

Back