Skip to content

Commit

Permalink
Fix match in match_typing_call_path
Browse files Browse the repository at this point in the history
  • Loading branch information
zanieb committed Nov 9, 2023
1 parent cd0e48a commit 545bd30
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@ PYI050.py:13:24: PYI050 Prefer `typing.Never` over `NoReturn` for argument annot
14 | ...
|

PYI050.py:18:10: PYI050 Prefer `typing.Never` over `NoReturn` for argument annotations
|
17 | def foo_no_return_typing_extensions(
18 | arg: typing_extensions.NoReturn,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ PYI050
19 | ):
20 | ...
|

PYI050.py:23:44: PYI050 Prefer `typing.Never` over `NoReturn` for argument annotations
|
23 | def foo_no_return_kwarg(arg: int, *, arg2: NoReturn):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ PYI050.pyi:6:24: PYI050 Prefer `typing.Never` over `NoReturn` for argument annot
8 | arg: typing_extensions.NoReturn,
|

PYI050.pyi:8:10: PYI050 Prefer `typing.Never` over `NoReturn` for argument annotations
|
6 | def foo_no_return(arg: NoReturn): ... # Error: PYI050
7 | def foo_no_return_typing_extensions(
8 | arg: typing_extensions.NoReturn,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ PYI050
9 | ): ... # Error: PYI050
10 | def foo_no_return_kwarg(arg: int, *, arg2: NoReturn): ... # Error: PYI050
|

PYI050.pyi:10:44: PYI050 Prefer `typing.Never` over `NoReturn` for argument annotations
|
8 | arg: typing_extensions.NoReturn,
Expand Down
9 changes: 4 additions & 5 deletions crates/ruff_python_semantic/src/model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -174,11 +174,10 @@ impl<'a> SemanticModel<'a> {

/// Return `true` if the call path is a reference to `typing.${target}`.
pub fn match_typing_call_path(&self, call_path: &CallPath, target: &str) -> bool {
if matches!(
call_path.as_slice(),
["typing" | "_typeshed" | "typing_extensions", _target]
) {
return true;
if let ["typing" | "_typeshed" | "typing_extensions", name] = call_path.as_slice() {
if *name == target {
return true;
}
}

if self.typing_modules.iter().any(|module| {
Expand Down

0 comments on commit 545bd30

Please sign in to comment.