-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
Description
def foo(a: bool) -> str:
if a:
return 'Hello world'Type checks cleanly with --strict-optional but will return None in cases where a is False. This function should have to have a type signature of (bool) -> Optional[str].
I recently came across the --warn-no-return flag in #1748 . Is the intention is to force all code paths in functions to hit a return statement? I know that'd be more in line with PEP 8, but unfortunately I've got tons of code that relies on the absence of a return statement implying return None that I'd like to typecheck.
If this isn't a bug, I would suggest we change this to "--strict-optional should imply --warn-no-return".