Message86339
Hmm. That patch isn't quite right, in at least two respects
- if the single-argument constructor is using LBYL (i.e., an
explicit isinstance(x, Rational), then the two-argument
constructor should too.
- the zero-division check should come *after* the type check;
that is, Rational(1, 0j) should raise TypeError rather than
ZeroDivisionError.
Here's an updated version, that also makes the default second argument
None rather than 1 and uses an 'is None' instead of '== 1' to determine
number of arguments; this means that Fraction(3, 1.0) is no longer
valid. |
|
Date |
User |
Action |
Args |
2009-04-22 21:41:38 | mark.dickinson | set | recipients:
+ mark.dickinson, rhettinger, jyasskin |
2009-04-22 21:41:37 | mark.dickinson | set | messageid: <1240436497.79.0.981462595325.issue5812@psf.upfronthosting.co.za> |
2009-04-22 21:41:35 | mark.dickinson | link | issue5812 messages |
2009-04-22 21:41:35 | mark.dickinson | create | |
|