Issue #13104 has been updated by Marcus Stollsteimer.
Seems to be triggered by `ext/mathn/rational/rational.c` and `ext/mathn/complex/complex.c`, which activate "canonicalization" in `rational.c` and `complex.c`.
```
$ ruby -r mathn/rational -e 'p Rational(2/1)'
2
$ ruby -r mathn/complex -e 'p Complex("3+0i")'
3
```
I suppose the reasoning behind the behavior was that in mathematics generally the simplest representation of a number is used, and n/1 = n.
But what are the plans for `mathn` anyway? -- It seems to be deprecated since 2.2 (#10169).
----------------------------------------
Bug #13104: mathn.rb affects Rational literals
https://bugs.ruby-lang.org/issues/13104#change-63152
* Author: Nobuyoshi Nakada
* Status: Assigned
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Target version: 2.5
* ruby -v: r57270
* Backport: 2.2: REQUIRED, 2.3: REQUIRED, 2.4: REQUIRED
----------------------------------------
Without mathn:
```
$ ruby -e 'p 1.0r'
(1/1)
```
With mathn:
```
$ ruby -rmathn -e 'p 1.0r'
1
```
Is this intentional?
https://github.com/ruby/ruby/compare/trunk...nobu:bug/rational-literal-mathn
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>