Skip to content

Commit 16cdcfb

Browse files
authored
Fix PyNumber::boolean (#6111)
1 parent 711b1a6 commit 16cdcfb

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

vm/src/builtins/complex.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ impl AsNumber for PyComplex {
492492
let value = PyComplex::number_downcast(number).value;
493493
value.norm().to_pyresult(vm)
494494
}),
495-
boolean: Some(|number, _vm| Ok(PyComplex::number_downcast(number).value.is_zero())),
495+
boolean: Some(|number, _vm| Ok(!PyComplex::number_downcast(number).value.is_zero())),
496496
true_divide: Some(|a, b, vm| PyComplex::number_op(a, b, inner_div, vm)),
497497
..PyNumberMethods::NOT_IMPLEMENTED
498498
};

vm/src/builtins/float.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ impl AsNumber for PyFloat {
590590
let value = PyFloat::number_downcast(num).value;
591591
value.abs().to_pyresult(vm)
592592
}),
593-
boolean: Some(|num, _vm| Ok(PyFloat::number_downcast(num).value.is_zero())),
593+
boolean: Some(|num, _vm| Ok(!PyFloat::number_downcast(num).value.is_zero())),
594594
int: Some(|num, vm| {
595595
let value = PyFloat::number_downcast(num).value;
596596
try_to_bigint(value, vm).map(|x| PyInt::from(x).into_pyobject(vm))

vm/src/builtins/int.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ impl PyInt {
773773
negative: Some(|num, vm| (&Self::number_downcast(num).value).neg().to_pyresult(vm)),
774774
positive: Some(|num, vm| Ok(Self::number_downcast_exact(num, vm).into())),
775775
absolute: Some(|num, vm| Self::number_downcast(num).value.abs().to_pyresult(vm)),
776-
boolean: Some(|num, _vm| Ok(Self::number_downcast(num).value.is_zero())),
776+
boolean: Some(|num, _vm| Ok(!Self::number_downcast(num).value.is_zero())),
777777
invert: Some(|num, vm| (&Self::number_downcast(num).value).not().to_pyresult(vm)),
778778
lshift: Some(|a, b, vm| Self::number_op(a, b, inner_lshift, vm)),
779779
rshift: Some(|a, b, vm| Self::number_op(a, b, inner_rshift, vm)),

0 commit comments

Comments
 (0)