not None est évalué comme True, et lorsque None est renvoyé
de manière implicite par Python et non de manière explicite dans un
return, MrPython ne relève pas le problème de typage. Cela pose un
problème pour les tests des fonctions booléennes :
def test() -> bool:
""""""
if 1 > 2:
return True
assert not test()
assert test() == False
Un retour implicite de None sans Optional devrait provoquer une erreur.
this one is tricky ... because the actual python interpreter is running the programs, not an instrumented one. A partial static analysis could help (in fact, a program graph analysis was planned at some point)
not None
est évalué commeTrue
, et lorsqueNone
est renvoyé de manière implicite par Python et non de manière explicite dans unreturn
, MrPython ne relève pas le problème de typage. Cela pose un problème pour les tests des fonctions booléennes :Un retour implicite de
None
sansOptional
devrait provoquer une erreur.