Skip to content
  • nagachika's avatar
    31816356
    merge revision(s)... · 31816356
    nagachika authored
    merge revision(s) 2bc293e8,d0e6c6e6,cc0dc67b,e1eff837,0ab0b86c,6911b4bc: [Backport #17854]
    
    	cdhash_cmp: can take rational literals
    
    	Rational literals are those integers suffixed with `r`.  They tend to
    	be a part of more complex expressions like `123/456r`, but in theory
    	they can live alone.  When such "bare" rational literals are passed to
    	case-when branch, we have to take care of them.  Fixes [Bug #17854]
    	---
    	 common.mk                  |  1 +
    	 compile.c                  |  7 +++++++
    	 internal/rational.h        |  1 +
    	 rational.c                 | 13 ++++++++++---
    	 test/ruby/test_rational.rb |  7 +++++++
    	 5 files changed, 26 insertions(+), 3 deletions(-)
    
    	cdhash_cmp: rational literals with fractions
    
    	Nobu kindly pointed out that rational literals can have fractions.
    	---
    	 compile.c                  | 5 +++--
    	 test/ruby/test_rational.rb | 4 ++++
    	 2 files changed, 7 insertions(+), 2 deletions(-)
    
    	cdhash_cmp: can also take complex
    
    	There are complex literals `123i`, which can also be a case condition.
    	---
    	 compile.c                  | 15 +++++++++++----
    	 complex.c                  | 12 +++++++++---
    	 internal/complex.h         |  1 +
    	 test/ruby/test_rational.rb |  4 ++++
    	 4 files changed, 25 insertions(+), 7 deletions(-)
    
    	cdhash_cmp: recursively apply
    
    	For instance a rational's numerator can be a bignum.  Comparison using
    	C's == can be insufficient.
    	---
    	 compile.c | 4 ++--
    	 1 file changed, 2 insertions(+), 2 deletions(-)
    
    	cdhash_cmp: should use ||
    
    	cf: https://github.com/ruby/ruby/pull/4469#discussion_r628386707
    	---
    	 compile.c | 4 ++--
    	 1 file changed, 2 insertions(+), 2 deletions(-)
    
    	test_cdhash: refactor change class
    
    	It is now strange to test Complex in a class named Rational_Test.
    	---
    	 test/ruby/test_rational.rb | 15 ---------------
    	 test/ruby/test_syntax.rb   | 15 +++++++++++++++
    	 2 files changed, 15 insertions(+), 15 deletions(-)
    31816356
    merge revision(s)...
    nagachika authored
    merge revision(s) 2bc293e8,d0e6c6e6,cc0dc67b,e1eff837,0ab0b86c,6911b4bc: [Backport #17854]
    
    	cdhash_cmp: can take rational literals
    
    	Rational literals are those integers suffixed with `r`.  They tend to
    	be a part of more complex expressions like `123/456r`, but in theory
    	they can live alone.  When such "bare" rational literals are passed to
    	case-when branch, we have to take care of them.  Fixes [Bug #17854]
    	---
    	 common.mk                  |  1 +
    	 compile.c                  |  7 +++++++
    	 internal/rational.h        |  1 +
    	 rational.c                 | 13 ++++++++++---
    	 test/ruby/test_rational.rb |  7 +++++++
    	 5 files changed, 26 insertions(+), 3 deletions(-)
    
    	cdhash_cmp: rational literals with fractions
    
    	Nobu kindly pointed out that rational literals can have fractions.
    	---
    	 compile.c                  | 5 +++--
    	 test/ruby/test_rational.rb | 4 ++++
    	 2 files changed, 7 insertions(+), 2 deletions(-)
    
    	cdhash_cmp: can also take complex
    
    	There are complex literals `123i`, which can also be a case condition.
    	---
    	 compile.c                  | 15 +++++++++++----
    	 complex.c                  | 12 +++++++++---
    	 internal/complex.h         |  1 +
    	 test/ruby/test_rational.rb |  4 ++++
    	 4 files changed, 25 insertions(+), 7 deletions(-)
    
    	cdhash_cmp: recursively apply
    
    	For instance a rational's numerator can be a bignum.  Comparison using
    	C's == can be insufficient.
    	---
    	 compile.c | 4 ++--
    	 1 file changed, 2 insertions(+), 2 deletions(-)
    
    	cdhash_cmp: should use ||
    
    	cf: https://github.com/ruby/ruby/pull/4469#discussion_r628386707
    	---
    	 compile.c | 4 ++--
    	 1 file changed, 2 insertions(+), 2 deletions(-)
    
    	test_cdhash: refactor change class
    
    	It is now strange to test Complex in a class named Rational_Test.
    	---
    	 test/ruby/test_rational.rb | 15 ---------------
    	 test/ruby/test_syntax.rb   | 15 +++++++++++++++
    	 2 files changed, 15 insertions(+), 15 deletions(-)
Loading