Comments (2)
Agree we could extend the check to the last line of a (potentially nested) try/if/with
from pylint.
These are great examples.
For anyone who wants to fix this, the warning is raised from this function:
def _check_return_at_the_end(self, node: nodes.FunctionDef) -> None:
"""Check for presence of a *single* return statement at the end of a
function.
"return" or "return None" are useless because None is the
default return type if they are missing.
NOTE: produces a message only if there is a single return statement
in the function body. Otherwise _check_consistent_returns() is called!
Per its implementation and PEP8 we can have a "return None" at the end
of the function body if there are other return statements before that!
"""
if len(self._return_nodes[node.name]) > 1:
return
if len(node.body) <= 1:
return
last = node.body[-1]
if isinstance(last, nodes.Return):
# e.g. "return"
if last.value is None:
self.add_message("useless-return", node=node)
# return None"
elif isinstance(last.value, nodes.Const) and (last.value.value is None):
self.add_message("useless-return", node=node)
The docstring refers to another function, _check_consistent_returns
. The logic there is murky.
from pylint.
Related Issues (20)
- Can't update functional test refs HOT 5
- False positive E0601: used-before-assignment in try and while block
- [Feature] new lint rule to require "new line" at end each code block. HOT 1
- Pylint does not discover a NoReturn method in certain cases to avoid "inconsistent-return-statements" HOT 3
- False positive for `use-yield-from` for generators yielding from iterators
- pylint crashing with `concurrent.futures.process.BrokenProcessPool` HOT 3
- E0606: detect validation done in external function HOT 6
- Crash ``Building error when trying to create ast representation of module 'aws_cp.__init__'`` HOT 1
- Crash ``Building error when trying to create ast representation of module 'aws_cp.aws'``
- Crash ``Building error when trying to create ast representation of module 'aws_cp.app'``
- pylint cannot find third-party packages in virtual environment HOT 3
- False Positive W0143-comparison-with-callable when using derived property descriptors
- Documentation about `class-const` needs to be updated.
- PEP 695: Type Parameter Syntax HOT 1
- pylint not finding the tox.ini config HOT 12
- [not-an-iterable] FP for attribute used in comprehension but guarded in if test HOT 2
- PyTest FixtureRequest
- Feature Request: Have multiple types for a naming-style HOT 2
- Support disabling possibly-used-before-assignment in-line for specific variables HOT 2
- `@overload` causes `missing-param-doc` despite parameter being documented HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pylint.