mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-21 19:04:33 +00:00
Treat parameters-with-newline as empty in function formatting (#7550)
## Summary If a function has no parameters (and no comments within the parameters' `()`), we're supposed to wrap the return annotation _whenever_ it breaks. However, our `empty_parameters` test didn't properly account for the case in which the parameters include a newline (but no other content), like: ```python def get_dashboards_hierarchy( ) -> Dict[Type['BaseDashboard'], List[Type['BaseDashboard']]]: """Get hierarchy of dashboards classes. Returns: Dict of dashboards classes. """ dashboards_hierarchy = {} ``` This PR fixes that detection. Instead of lexing, it now checks if the parameters itself is empty (or if it contains comments). Closes https://github.com/astral-sh/ruff/issues/7457.
This commit is contained in:
parent
6540321966
commit
5df0326bc8
4 changed files with 50 additions and 44 deletions
|
@ -2135,6 +2135,15 @@ impl Parameters {
|
|||
}
|
||||
false
|
||||
}
|
||||
|
||||
/// Returns `true` if the [`Parameters`] is empty.
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.posonlyargs.is_empty()
|
||||
&& self.args.is_empty()
|
||||
&& self.kwonlyargs.is_empty()
|
||||
&& self.vararg.is_none()
|
||||
&& self.kwarg.is_none()
|
||||
}
|
||||
}
|
||||
|
||||
/// An alternative type of AST `arg`. This is used for each function argument that might have a default value.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue