From: "msnm (Masahiro Nomoto)" Date: 2022-09-10T17:46:15+00:00 Subject: [ruby-core:109879] [Ruby master Bug#19004] Complex can be nested by Complex.polar Issue #19004 has been reported by msnm (Masahiro Nomoto). ---------------------------------------- Bug #19004: Complex can be nested by Complex.polar https://bugs.ruby-lang.org/issues/19004 * Author: msnm (Masahiro Nomoto) * Status: Open * Priority: Normal * ruby -v: 3.1.2 * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- `Complex.polar` with one argument can return a "nested" Complex instance, whose real part is also a Complex one. ```ruby puts RUBY_DESCRIPTION # ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux] p Complex.polar(1+0i) # ((1+0i)+0i) p 5.times.inject(1) { |num, _| Complex.polar(num) } # (((((1+0i)+0i)+0i)+0i)+0i) ``` In Ruby < 2.7 , it simply raises an error when the argument is an instance of Complex (i.e. `obj.real? == false`). ```ruby puts RUBY_DESCRIPTION # ruby 2.6.10p210 (2022-04-12 revision 67958) [x86_64-linux] p Complex.polar(1+0i) # TypeError (not a real) ``` -- https://bugs.ruby-lang.org/ Unsubscribe: