New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't warn about returning Any if it is a proper subtype of the return type #3473

Merged
merged 1 commit into from May 30, 2017

Conversation

Projects
None yet
3 participants
@ilevkivskyi
Collaborator

ilevkivskyi commented May 30, 2017

Fixes #3472

One-line fix, title says it all.

@JukkaL

JukkaL approved these changes May 30, 2017

@JukkaL JukkaL merged commit 35fbfb6 into python:master May 30, 2017

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@JukkaL

This comment has been minimized.

Show comment
Hide comment
@JukkaL

JukkaL May 30, 2017

Collaborator

Thanks!

Collaborator

JukkaL commented May 30, 2017

Thanks!

@@ -1874,7 +1874,8 @@ def check_return_stmt(self, s: ReturnStmt) -> None:
if isinstance(typ, AnyType):
# (Unless you asked to be warned in that case, and the
# function is not declared to return Any)
if not isinstance(return_type, AnyType) and self.options.warn_return_any:
if (not is_proper_subtype(AnyType(), return_type) and
self.options.warn_return_any):

This comment has been minimized.

@gvanrossum

gvanrossum May 30, 2017

Member

I would have tested for the option first, an attribute access is cheaper than a call. It's a reflexive optimization that often also leads to clearer code (often it's a wash).

@gvanrossum

gvanrossum May 30, 2017

Member

I would have tested for the option first, an attribute access is cheaper than a call. It's a reflexive optimization that often also leads to clearer code (often it's a wash).

carljm added a commit to carljm/mypy that referenced this pull request May 30, 2017

Merge branch 'master' into module-alias
* master: (23 commits)
  Make return type of open() more precise (#3477)
  Add test cases that delete a file during incremental checking (#3461)
  Parse each format-string component separately (#3390)
  Don't warn about returning Any if it is a proper subtype of the return type (#3473)
  Add __setattr__ support (#3451)
  Remove bundled lib-typing (#3337)
  Move version of extensions to post-release (#3348)
  Fix None slice bounds with strict-optional (#3445)
  Allow NewType subclassing NewType. (#3465)
  Add console scripts (#3074)
  Fix 'variance' label.
  Change label for variance section to just 'variance' (#3429)
  Better error message for invalid package names passed to mypy (#3447)
  Fix last character cut in html-report if file does not end with newline (#3466)
  Print pytest output as it happens (#3463)
  Add mypy roadmap (#3460)
  Add flag to avoid interpreting arguments with a default of None as Optional (#3248)
  Add type checking plugin support for functions (#3299)
  Mismatch of inferred type and return type note (#3428)
  Sync typeshed (#3449)
  ...

@ilevkivskyi ilevkivskyi deleted the ilevkivskyi:fix-return-any branch May 31, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment