-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[pylint] - implement super-without-brackets
/W0245
#9257
Conversation
|
code | total | + violation | - violation | + fix | - fix |
---|---|---|---|---|---|
TID252 | 3306 | 1653 | 1653 | 0 | 0 |
Linter (preview)
ℹ️ ecosystem check detected linter changes. (+1572 -1572 violations, +0 -0 fixes in 2 projects; 39 projects unchanged)
apache/airflow (+42 -42 violations, +0 -0 fixes)
ruff check --no-cache --exit-zero --preview --select ALL
+ tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules + tests/providers/amazon/aws/hooks/test_eks.py:57:1: TID252 Prefer absolute imports over relative imports from parent modules ... 74 additional changes omitted for project
bokeh/bokeh (+1530 -1530 violations, +0 -0 fixes)
ruff check --no-cache --exit-zero --preview --select ALL
+ src/bokeh/application/handlers/code.py:45:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code.py:45:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code.py:46:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code.py:46:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code.py:47:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/code.py:47:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code.py:47:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/code.py:47:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code_runner.py:33:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code_runner.py:33:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/code_runner.py:34:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/code_runner.py:34:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:65:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:65:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:66:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:66:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:67:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/directory.py:67:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:67:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/directory.py:67:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/directory.py:78:5: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/directory.py:78:5: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/document_lifecycle.py:25:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/document_lifecycle.py:25:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/function.py:44:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/function.py:44:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/function.py:45:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/function.py:45:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/handler.py:52:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/handler.py:52:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/handler.py:53:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/handler.py:53:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/handler.py:53:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/handler.py:53:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/lifecycle.py:28:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/lifecycle.py:28:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Prefer absolute imports over relative imports from parent modules + src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Relative imports from parent modules are banned - src/bokeh/application/handlers/lifecycle.py:29:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/notebook.py:36:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/notebook.py:36:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/notebook.py:37:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/notebook.py:37:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/script.py:52:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/script.py:52:1: TID252 Relative imports from parent modules are banned + src/bokeh/application/handlers/server_lifecycle.py:29:1: TID252 Prefer absolute imports over relative imports from parent modules - src/bokeh/application/handlers/server_lifecycle.py:29:1: TID252 Relative imports from parent modules are banned ... 3012 additional changes omitted for project
Changes by rule (1 rules affected)
code | total | + violation | - violation | + fix | - fix |
---|---|---|---|---|---|
TID252 | 3144 | 1572 | 1572 | 0 | 0 |
0234f8f
to
dbe0eaa
Compare
Is it possible to narrow the guard clauses down more? I'm unsure what the best way to have the semantic model know if we're within a subclass would be here. Please advise! |
pub(crate) fn super_without_brackets(checker: &mut Checker, func: &Expr) { | ||
if !checker.semantic().current_scope().kind.is_function() { | ||
return; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could probably check if we're in a function immediately within a class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, can you try using function_type::classify
for this, to detect that we're in a method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You will need to pass the parent scope via something like:
let Some(parent) = &checker.semantic().first_non_type_parent_scope(scope) else {
return;
};
Instead of the current scope.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated! Seems much better now, LMK!
And thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
515d055
to
cf269b1
Compare
Summary
Implement
super-without-brackets
/W0245
See: #970
Test Plan
cargo test