mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-01 06:11:21 +00:00
Upgrade mutable-argument-defaults to unsafe (#8108)
This commit is contained in:
parent
e0f9dbcd10
commit
2414f23abb
10 changed files with 93 additions and 87 deletions
|
@ -30,6 +30,12 @@ use crate::checkers::ast::Checker;
|
||||||
/// Types outside of the standard library can be marked as immutable with the
|
/// Types outside of the standard library can be marked as immutable with the
|
||||||
/// [`flake8-bugbear.extend-immutable-calls`] configuration option.
|
/// [`flake8-bugbear.extend-immutable-calls`] configuration option.
|
||||||
///
|
///
|
||||||
|
/// ## Known problems
|
||||||
|
/// Mutable argument defaults can be used intentionally to cache computation
|
||||||
|
/// results. Replacing the default with `None` or an immutable data structure
|
||||||
|
/// does not work for such usages. Instead, prefer the `@functools.lru_cache`
|
||||||
|
/// decorator from the standard library.
|
||||||
|
///
|
||||||
/// ## Example
|
/// ## Example
|
||||||
/// ```python
|
/// ```python
|
||||||
/// def add_to_list(item, some_list=[]):
|
/// def add_to_list(item, some_list=[]):
|
||||||
|
@ -197,5 +203,5 @@ fn move_initialization(
|
||||||
}
|
}
|
||||||
|
|
||||||
let initialization_edit = Edit::insertion(content, pos);
|
let initialization_edit = Edit::insertion(content, pos);
|
||||||
Some(Fix::display_edits(default_edit, [initialization_edit]))
|
Some(Fix::unsafe_edits(default_edit, [initialization_edit]))
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_1.py:3:22: B006 Do not use mutable data structures for argument defaults
|
B006_1.py:3:22: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
1 | # Docstring followed by a newline
|
1 | # Docstring followed by a newline
|
||||||
2 |
|
2 |
|
||||||
|
@ -12,7 +12,7 @@ B006_1.py:3:22: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
1 1 | # Docstring followed by a newline
|
1 1 | # Docstring followed by a newline
|
||||||
2 2 |
|
2 2 |
|
||||||
3 |-def foobar(foor, bar={}):
|
3 |-def foobar(foor, bar={}):
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_2.py:4:22: B006 Do not use mutable data structures for argument defaults
|
B006_2.py:4:22: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
2 | # Regression test for https://github.com/astral-sh/ruff/issues/7155
|
2 | # Regression test for https://github.com/astral-sh/ruff/issues/7155
|
||||||
3 |
|
3 |
|
||||||
|
@ -12,7 +12,7 @@ B006_2.py:4:22: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
1 1 | # Docstring followed by whitespace with no newline
|
1 1 | # Docstring followed by whitespace with no newline
|
||||||
2 2 | # Regression test for https://github.com/astral-sh/ruff/issues/7155
|
2 2 | # Regression test for https://github.com/astral-sh/ruff/issues/7155
|
||||||
3 3 |
|
3 3 |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_3.py:4:22: B006 Do not use mutable data structures for argument defaults
|
B006_3.py:4:22: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
4 | def foobar(foor, bar={}):
|
4 | def foobar(foor, bar={}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -10,7 +10,7 @@ B006_3.py:4:22: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
1 1 | # Docstring with no newline
|
1 1 | # Docstring with no newline
|
||||||
2 2 |
|
2 2 |
|
||||||
3 3 |
|
3 3 |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_4.py:7:26: B006 Do not use mutable data structures for argument defaults
|
B006_4.py:7:26: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
6 | class FormFeedIndent:
|
6 | class FormFeedIndent:
|
||||||
7 | def __init__(self, a=[]):
|
7 | def __init__(self, a=[]):
|
||||||
|
@ -10,7 +10,7 @@ B006_4.py:7:26: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
4 4 |
|
4 4 |
|
||||||
5 5 |
|
5 5 |
|
||||||
6 6 | class FormFeedIndent:
|
6 6 | class FormFeedIndent:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_5.py:5:49: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:5:49: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
5 | def import_module_wrong(value: dict[str, str] = {}):
|
5 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -9,7 +9,7 @@ B006_5.py:5:49: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
2 2 | # https://github.com/astral-sh/ruff/issues/7616
|
2 2 | # https://github.com/astral-sh/ruff/issues/7616
|
||||||
3 3 |
|
3 3 |
|
||||||
4 4 |
|
4 4 |
|
||||||
|
@ -22,7 +22,7 @@ B006_5.py:5:49: B006 Do not use mutable data structures for argument defaults
|
||||||
8 10 |
|
8 10 |
|
||||||
9 11 | def import_module_with_values_wrong(value: dict[str, str] = {}):
|
9 11 | def import_module_with_values_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:9:61: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:9:61: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
9 | def import_module_with_values_wrong(value: dict[str, str] = {}):
|
9 | def import_module_with_values_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -30,7 +30,7 @@ B006_5.py:9:61: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
6 6 | import os
|
6 6 | import os
|
||||||
7 7 |
|
7 7 |
|
||||||
8 8 |
|
8 8 |
|
||||||
|
@ -44,7 +44,7 @@ B006_5.py:9:61: B006 Do not use mutable data structures for argument defaults
|
||||||
13 15 |
|
13 15 |
|
||||||
14 16 |
|
14 16 |
|
||||||
|
|
||||||
B006_5.py:15:50: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:15:50: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
15 | def import_modules_wrong(value: dict[str, str] = {}):
|
15 | def import_modules_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -53,7 +53,7 @@ B006_5.py:15:50: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
12 12 | return 2
|
12 12 | return 2
|
||||||
13 13 |
|
13 13 |
|
||||||
14 14 |
|
14 14 |
|
||||||
|
@ -68,7 +68,7 @@ B006_5.py:15:50: B006 Do not use mutable data structures for argument defaults
|
||||||
20 22 |
|
20 22 |
|
||||||
21 23 | def from_import_module_wrong(value: dict[str, str] = {}):
|
21 23 | def from_import_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:21:54: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:21:54: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
21 | def from_import_module_wrong(value: dict[str, str] = {}):
|
21 | def from_import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -76,7 +76,7 @@ B006_5.py:21:54: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
18 18 | import itertools
|
18 18 | import itertools
|
||||||
19 19 |
|
19 19 |
|
||||||
20 20 |
|
20 20 |
|
||||||
|
@ -89,7 +89,7 @@ B006_5.py:21:54: B006 Do not use mutable data structures for argument defaults
|
||||||
24 26 |
|
24 26 |
|
||||||
25 27 | def from_imports_module_wrong(value: dict[str, str] = {}):
|
25 27 | def from_imports_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:25:55: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:25:55: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
25 | def from_imports_module_wrong(value: dict[str, str] = {}):
|
25 | def from_imports_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -98,7 +98,7 @@ B006_5.py:25:55: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
22 22 | from os import path
|
22 22 | from os import path
|
||||||
23 23 |
|
23 23 |
|
||||||
24 24 |
|
24 24 |
|
||||||
|
@ -112,7 +112,7 @@ B006_5.py:25:55: B006 Do not use mutable data structures for argument defaults
|
||||||
29 31 |
|
29 31 |
|
||||||
30 32 | def import_and_from_imports_module_wrong(value: dict[str, str] = {}):
|
30 32 | def import_and_from_imports_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:30:66: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:30:66: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
30 | def import_and_from_imports_module_wrong(value: dict[str, str] = {}):
|
30 | def import_and_from_imports_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -121,7 +121,7 @@ B006_5.py:30:66: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
27 27 | from sys import version_info
|
27 27 | from sys import version_info
|
||||||
28 28 |
|
28 28 |
|
||||||
29 29 |
|
29 29 |
|
||||||
|
@ -135,7 +135,7 @@ B006_5.py:30:66: B006 Do not use mutable data structures for argument defaults
|
||||||
34 36 |
|
34 36 |
|
||||||
35 37 | def import_docstring_module_wrong(value: dict[str, str] = {}):
|
35 37 | def import_docstring_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:35:59: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:35:59: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
35 | def import_docstring_module_wrong(value: dict[str, str] = {}):
|
35 | def import_docstring_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -144,7 +144,7 @@ B006_5.py:35:59: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
32 32 | from sys import version_info
|
32 32 | from sys import version_info
|
||||||
33 33 |
|
33 33 |
|
||||||
34 34 |
|
34 34 |
|
||||||
|
@ -158,7 +158,7 @@ B006_5.py:35:59: B006 Do not use mutable data structures for argument defaults
|
||||||
39 41 |
|
39 41 |
|
||||||
40 42 | def import_module_wrong(value: dict[str, str] = {}):
|
40 42 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:40:49: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:40:49: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
40 | def import_module_wrong(value: dict[str, str] = {}):
|
40 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -167,7 +167,7 @@ B006_5.py:40:49: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
37 37 | import os
|
37 37 | import os
|
||||||
38 38 |
|
38 38 |
|
||||||
39 39 |
|
39 39 |
|
||||||
|
@ -181,7 +181,7 @@ B006_5.py:40:49: B006 Do not use mutable data structures for argument defaults
|
||||||
44 46 |
|
44 46 |
|
||||||
45 47 | def import_module_wrong(value: dict[str, str] = {}):
|
45 47 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:45:49: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:45:49: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
45 | def import_module_wrong(value: dict[str, str] = {}):
|
45 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -190,7 +190,7 @@ B006_5.py:45:49: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
42 42 | import os; import sys
|
42 42 | import os; import sys
|
||||||
43 43 |
|
43 43 |
|
||||||
44 44 |
|
44 44 |
|
||||||
|
@ -203,7 +203,7 @@ B006_5.py:45:49: B006 Do not use mutable data structures for argument defaults
|
||||||
48 50 |
|
48 50 |
|
||||||
49 51 |
|
49 51 |
|
||||||
|
|
||||||
B006_5.py:50:49: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:50:49: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
50 | def import_module_wrong(value: dict[str, str] = {}):
|
50 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -212,7 +212,7 @@ B006_5.py:50:49: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
47 47 | import os; import sys; x = 1
|
47 47 | import os; import sys; x = 1
|
||||||
48 48 |
|
48 48 |
|
||||||
49 49 |
|
49 49 |
|
||||||
|
@ -226,7 +226,7 @@ B006_5.py:50:49: B006 Do not use mutable data structures for argument defaults
|
||||||
54 56 |
|
54 56 |
|
||||||
55 57 | def import_module_wrong(value: dict[str, str] = {}):
|
55 57 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:55:49: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:55:49: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
55 | def import_module_wrong(value: dict[str, str] = {}):
|
55 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -234,7 +234,7 @@ B006_5.py:55:49: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
52 52 | import os; import sys
|
52 52 | import os; import sys
|
||||||
53 53 |
|
53 53 |
|
||||||
54 54 |
|
54 54 |
|
||||||
|
@ -247,7 +247,7 @@ B006_5.py:55:49: B006 Do not use mutable data structures for argument defaults
|
||||||
58 60 |
|
58 60 |
|
||||||
59 61 | def import_module_wrong(value: dict[str, str] = {}):
|
59 61 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_5.py:59:49: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:59:49: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
59 | def import_module_wrong(value: dict[str, str] = {}):
|
59 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -255,7 +255,7 @@ B006_5.py:59:49: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
56 56 | import os; import sys
|
56 56 | import os; import sys
|
||||||
57 57 |
|
57 57 |
|
||||||
58 58 |
|
58 58 |
|
||||||
|
@ -267,7 +267,7 @@ B006_5.py:59:49: B006 Do not use mutable data structures for argument defaults
|
||||||
61 63 |
|
61 63 |
|
||||||
62 64 |
|
62 64 |
|
||||||
|
|
||||||
B006_5.py:63:49: B006 Do not use mutable data structures for argument defaults
|
B006_5.py:63:49: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
63 | def import_module_wrong(value: dict[str, str] = {}):
|
63 | def import_module_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -275,7 +275,7 @@ B006_5.py:63:49: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
60 60 | import os; import sys; x = 1
|
60 60 | import os; import sys; x = 1
|
||||||
61 61 |
|
61 61 |
|
||||||
62 62 |
|
62 62 |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_6.py:4:22: B006 Do not use mutable data structures for argument defaults
|
B006_6.py:4:22: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
2 | # Same as B006_2.py, but import instead of docstring
|
2 | # Same as B006_2.py, but import instead of docstring
|
||||||
3 |
|
3 |
|
||||||
|
@ -11,7 +11,7 @@ B006_6.py:4:22: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
1 1 | # Import followed by whitespace with no newline
|
1 1 | # Import followed by whitespace with no newline
|
||||||
2 2 | # Same as B006_2.py, but import instead of docstring
|
2 2 | # Same as B006_2.py, but import instead of docstring
|
||||||
3 3 |
|
3 3 |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_7.py:4:22: B006 Do not use mutable data structures for argument defaults
|
B006_7.py:4:22: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
2 | # Same as B006_3.py, but import instead of docstring
|
2 | # Same as B006_3.py, but import instead of docstring
|
||||||
3 |
|
3 |
|
||||||
|
@ -11,7 +11,7 @@ B006_7.py:4:22: B006 Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
1 1 | # Import with no newline
|
1 1 | # Import with no newline
|
||||||
2 2 | # Same as B006_3.py, but import instead of docstring
|
2 2 | # Same as B006_3.py, but import instead of docstring
|
||||||
3 3 |
|
3 3 |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_B008.py:63:25: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:63:25: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
63 | def this_is_wrong(value=[1, 2, 3]):
|
63 | def this_is_wrong(value=[1, 2, 3]):
|
||||||
| ^^^^^^^^^ B006
|
| ^^^^^^^^^ B006
|
||||||
|
@ -9,7 +9,7 @@ B006_B008.py:63:25: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
60 60 | # Flag mutable literals/comprehensions
|
60 60 | # Flag mutable literals/comprehensions
|
||||||
61 61 |
|
61 61 |
|
||||||
62 62 |
|
62 62 |
|
||||||
|
@ -21,7 +21,7 @@ B006_B008.py:63:25: B006 Do not use mutable data structures for argument default
|
||||||
65 67 |
|
65 67 |
|
||||||
66 68 |
|
66 68 |
|
||||||
|
|
||||||
B006_B008.py:67:30: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:67:30: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
67 | def this_is_also_wrong(value={}):
|
67 | def this_is_also_wrong(value={}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -29,7 +29,7 @@ B006_B008.py:67:30: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
64 64 | ...
|
64 64 | ...
|
||||||
65 65 |
|
65 65 |
|
||||||
66 66 |
|
66 66 |
|
||||||
|
@ -41,7 +41,7 @@ B006_B008.py:67:30: B006 Do not use mutable data structures for argument default
|
||||||
69 71 |
|
69 71 |
|
||||||
70 72 |
|
70 72 |
|
||||||
|
|
||||||
B006_B008.py:73:52: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:73:52: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
71 | class Foo:
|
71 | class Foo:
|
||||||
72 | @staticmethod
|
72 | @staticmethod
|
||||||
|
@ -51,7 +51,7 @@ B006_B008.py:73:52: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
70 70 |
|
70 70 |
|
||||||
71 71 | class Foo:
|
71 71 | class Foo:
|
||||||
72 72 | @staticmethod
|
72 72 | @staticmethod
|
||||||
|
@ -63,7 +63,7 @@ B006_B008.py:73:52: B006 Do not use mutable data structures for argument default
|
||||||
75 77 |
|
75 77 |
|
||||||
76 78 |
|
76 78 |
|
||||||
|
|
||||||
B006_B008.py:77:31: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:77:31: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
77 | def multiline_arg_wrong(value={
|
77 | def multiline_arg_wrong(value={
|
||||||
| _______________________________^
|
| _______________________________^
|
||||||
|
@ -74,7 +74,7 @@ B006_B008.py:77:31: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
74 74 | pass
|
74 74 | pass
|
||||||
75 75 |
|
75 75 |
|
||||||
76 76 |
|
76 76 |
|
||||||
|
@ -97,7 +97,7 @@ B006_B008.py:82:36: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
B006_B008.py:85:20: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:85:20: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
85 | def and_this(value=set()):
|
85 | def and_this(value=set()):
|
||||||
| ^^^^^ B006
|
| ^^^^^ B006
|
||||||
|
@ -105,7 +105,7 @@ B006_B008.py:85:20: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
82 82 | def single_line_func_wrong(value = {}): ...
|
82 82 | def single_line_func_wrong(value = {}): ...
|
||||||
83 83 |
|
83 83 |
|
||||||
84 84 |
|
84 84 |
|
||||||
|
@ -117,7 +117,7 @@ B006_B008.py:85:20: B006 Do not use mutable data structures for argument default
|
||||||
87 89 |
|
87 89 |
|
||||||
88 90 |
|
88 90 |
|
||||||
|
|
||||||
B006_B008.py:89:20: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:89:20: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
89 | def this_too(value=collections.OrderedDict()):
|
89 | def this_too(value=collections.OrderedDict()):
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
||||||
|
@ -125,7 +125,7 @@ B006_B008.py:89:20: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
86 86 | ...
|
86 86 | ...
|
||||||
87 87 |
|
87 87 |
|
||||||
88 88 |
|
88 88 |
|
||||||
|
@ -137,7 +137,7 @@ B006_B008.py:89:20: B006 Do not use mutable data structures for argument default
|
||||||
91 93 |
|
91 93 |
|
||||||
92 94 |
|
92 94 |
|
||||||
|
|
||||||
B006_B008.py:93:32: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:93:32: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
93 | async def async_this_too(value=collections.defaultdict()):
|
93 | async def async_this_too(value=collections.defaultdict()):
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
||||||
|
@ -145,7 +145,7 @@ B006_B008.py:93:32: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
90 90 | ...
|
90 90 | ...
|
||||||
91 91 |
|
91 91 |
|
||||||
92 92 |
|
92 92 |
|
||||||
|
@ -157,7 +157,7 @@ B006_B008.py:93:32: B006 Do not use mutable data structures for argument default
|
||||||
95 97 |
|
95 97 |
|
||||||
96 98 |
|
96 98 |
|
||||||
|
|
||||||
B006_B008.py:97:26: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:97:26: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
97 | def dont_forget_me(value=collections.deque()):
|
97 | def dont_forget_me(value=collections.deque()):
|
||||||
| ^^^^^^^^^^^^^^^^^^^ B006
|
| ^^^^^^^^^^^^^^^^^^^ B006
|
||||||
|
@ -165,7 +165,7 @@ B006_B008.py:97:26: B006 Do not use mutable data structures for argument default
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
94 94 | ...
|
94 94 | ...
|
||||||
95 95 |
|
95 95 |
|
||||||
96 96 |
|
96 96 |
|
||||||
|
@ -177,7 +177,7 @@ B006_B008.py:97:26: B006 Do not use mutable data structures for argument default
|
||||||
99 101 |
|
99 101 |
|
||||||
100 102 |
|
100 102 |
|
||||||
|
|
||||||
B006_B008.py:102:46: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:102:46: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
101 | # N.B. we're also flagging the function call in the comprehension
|
101 | # N.B. we're also flagging the function call in the comprehension
|
||||||
102 | def list_comprehension_also_not_okay(default=[i**2 for i in range(3)]):
|
102 | def list_comprehension_also_not_okay(default=[i**2 for i in range(3)]):
|
||||||
|
@ -186,7 +186,7 @@ B006_B008.py:102:46: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
99 99 |
|
99 99 |
|
||||||
100 100 |
|
100 100 |
|
||||||
101 101 | # N.B. we're also flagging the function call in the comprehension
|
101 101 | # N.B. we're also flagging the function call in the comprehension
|
||||||
|
@ -198,7 +198,7 @@ B006_B008.py:102:46: B006 Do not use mutable data structures for argument defaul
|
||||||
104 106 |
|
104 106 |
|
||||||
105 107 |
|
105 107 |
|
||||||
|
|
||||||
B006_B008.py:106:46: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:106:46: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
106 | def dict_comprehension_also_not_okay(default={i: i**2 for i in range(3)}):
|
106 | def dict_comprehension_also_not_okay(default={i: i**2 for i in range(3)}):
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
||||||
|
@ -206,7 +206,7 @@ B006_B008.py:106:46: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
103 103 | pass
|
103 103 | pass
|
||||||
104 104 |
|
104 104 |
|
||||||
105 105 |
|
105 105 |
|
||||||
|
@ -218,7 +218,7 @@ B006_B008.py:106:46: B006 Do not use mutable data structures for argument defaul
|
||||||
108 110 |
|
108 110 |
|
||||||
109 111 |
|
109 111 |
|
||||||
|
|
||||||
B006_B008.py:110:45: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:110:45: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
110 | def set_comprehension_also_not_okay(default={i**2 for i in range(3)}):
|
110 | def set_comprehension_also_not_okay(default={i**2 for i in range(3)}):
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ B006
|
||||||
|
@ -226,7 +226,7 @@ B006_B008.py:110:45: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
107 107 | pass
|
107 107 | pass
|
||||||
108 108 |
|
108 108 |
|
||||||
109 109 |
|
109 109 |
|
||||||
|
@ -238,7 +238,7 @@ B006_B008.py:110:45: B006 Do not use mutable data structures for argument defaul
|
||||||
112 114 |
|
112 114 |
|
||||||
113 115 |
|
113 115 |
|
||||||
|
|
||||||
B006_B008.py:114:33: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:114:33: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
114 | def kwonlyargs_mutable(*, value=[]):
|
114 | def kwonlyargs_mutable(*, value=[]):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -246,7 +246,7 @@ B006_B008.py:114:33: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
111 111 | pass
|
111 111 | pass
|
||||||
112 112 |
|
112 112 |
|
||||||
113 113 |
|
113 113 |
|
||||||
|
@ -258,7 +258,7 @@ B006_B008.py:114:33: B006 Do not use mutable data structures for argument defaul
|
||||||
116 118 |
|
116 118 |
|
||||||
117 119 |
|
117 119 |
|
||||||
|
|
||||||
B006_B008.py:239:20: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:239:20: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
237 | # B006 and B008
|
237 | # B006 and B008
|
||||||
238 | # We should handle arbitrary nesting of these B008.
|
238 | # We should handle arbitrary nesting of these B008.
|
||||||
|
@ -268,7 +268,7 @@ B006_B008.py:239:20: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
236 236 |
|
236 236 |
|
||||||
237 237 | # B006 and B008
|
237 237 | # B006 and B008
|
||||||
238 238 | # We should handle arbitrary nesting of these B008.
|
238 238 | # We should handle arbitrary nesting of these B008.
|
||||||
|
@ -280,7 +280,7 @@ B006_B008.py:239:20: B006 Do not use mutable data structures for argument defaul
|
||||||
241 243 |
|
241 243 |
|
||||||
242 244 |
|
242 244 |
|
||||||
|
|
||||||
B006_B008.py:276:27: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:276:27: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
275 | def mutable_annotations(
|
275 | def mutable_annotations(
|
||||||
276 | a: list[int] | None = [],
|
276 | a: list[int] | None = [],
|
||||||
|
@ -290,7 +290,7 @@ B006_B008.py:276:27: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
273 273 |
|
273 273 |
|
||||||
274 274 |
|
274 274 |
|
||||||
275 275 | def mutable_annotations(
|
275 275 | def mutable_annotations(
|
||||||
|
@ -306,7 +306,7 @@ B006_B008.py:276:27: B006 Do not use mutable data structures for argument defaul
|
||||||
282 284 |
|
282 284 |
|
||||||
283 285 |
|
283 285 |
|
||||||
|
|
||||||
B006_B008.py:277:35: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:277:35: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
275 | def mutable_annotations(
|
275 | def mutable_annotations(
|
||||||
276 | a: list[int] | None = [],
|
276 | a: list[int] | None = [],
|
||||||
|
@ -317,7 +317,7 @@ B006_B008.py:277:35: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
274 274 |
|
274 274 |
|
||||||
275 275 | def mutable_annotations(
|
275 275 | def mutable_annotations(
|
||||||
276 276 | a: list[int] | None = [],
|
276 276 | a: list[int] | None = [],
|
||||||
|
@ -332,7 +332,7 @@ B006_B008.py:277:35: B006 Do not use mutable data structures for argument defaul
|
||||||
282 284 |
|
282 284 |
|
||||||
283 285 |
|
283 285 |
|
||||||
|
|
||||||
B006_B008.py:278:62: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:278:62: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
276 | a: list[int] | None = [],
|
276 | a: list[int] | None = [],
|
||||||
277 | b: Optional[Dict[int, int]] = {},
|
277 | b: Optional[Dict[int, int]] = {},
|
||||||
|
@ -343,7 +343,7 @@ B006_B008.py:278:62: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
275 275 | def mutable_annotations(
|
275 275 | def mutable_annotations(
|
||||||
276 276 | a: list[int] | None = [],
|
276 276 | a: list[int] | None = [],
|
||||||
277 277 | b: Optional[Dict[int, int]] = {},
|
277 277 | b: Optional[Dict[int, int]] = {},
|
||||||
|
@ -357,7 +357,7 @@ B006_B008.py:278:62: B006 Do not use mutable data structures for argument defaul
|
||||||
282 284 |
|
282 284 |
|
||||||
283 285 |
|
283 285 |
|
||||||
|
|
||||||
B006_B008.py:279:80: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:279:80: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
277 | b: Optional[Dict[int, int]] = {},
|
277 | b: Optional[Dict[int, int]] = {},
|
||||||
278 | c: Annotated[Union[Set[str], abc.Sized], "annotation"] = set(),
|
278 | c: Annotated[Union[Set[str], abc.Sized], "annotation"] = set(),
|
||||||
|
@ -368,7 +368,7 @@ B006_B008.py:279:80: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
276 276 | a: list[int] | None = [],
|
276 276 | a: list[int] | None = [],
|
||||||
277 277 | b: Optional[Dict[int, int]] = {},
|
277 277 | b: Optional[Dict[int, int]] = {},
|
||||||
278 278 | c: Annotated[Union[Set[str], abc.Sized], "annotation"] = set(),
|
278 278 | c: Annotated[Union[Set[str], abc.Sized], "annotation"] = set(),
|
||||||
|
@ -381,7 +381,7 @@ B006_B008.py:279:80: B006 Do not use mutable data structures for argument defaul
|
||||||
282 284 |
|
282 284 |
|
||||||
283 285 |
|
283 285 |
|
||||||
|
|
||||||
B006_B008.py:284:52: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:284:52: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
284 | def single_line_func_wrong(value: dict[str, str] = {}):
|
284 | def single_line_func_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -389,7 +389,7 @@ B006_B008.py:284:52: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
281 281 | pass
|
281 281 | pass
|
||||||
282 282 |
|
282 282 |
|
||||||
283 283 |
|
283 283 |
|
||||||
|
@ -402,7 +402,7 @@ B006_B008.py:284:52: B006 Do not use mutable data structures for argument defaul
|
||||||
287 289 |
|
287 289 |
|
||||||
288 290 | def single_line_func_wrong(value: dict[str, str] = {}):
|
288 290 | def single_line_func_wrong(value: dict[str, str] = {}):
|
||||||
|
|
||||||
B006_B008.py:288:52: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:288:52: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
288 | def single_line_func_wrong(value: dict[str, str] = {}):
|
288 | def single_line_func_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -411,7 +411,7 @@ B006_B008.py:288:52: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
285 285 | """Docstring"""
|
285 285 | """Docstring"""
|
||||||
286 286 |
|
286 286 |
|
||||||
287 287 |
|
287 287 |
|
||||||
|
@ -424,7 +424,7 @@ B006_B008.py:288:52: B006 Do not use mutable data structures for argument defaul
|
||||||
291 293 |
|
291 293 |
|
||||||
292 294 |
|
292 294 |
|
||||||
|
|
||||||
B006_B008.py:293:52: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:293:52: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
293 | def single_line_func_wrong(value: dict[str, str] = {}):
|
293 | def single_line_func_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -432,7 +432,7 @@ B006_B008.py:293:52: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
290 290 | ...
|
290 290 | ...
|
||||||
291 291 |
|
291 291 |
|
||||||
292 292 |
|
292 292 |
|
||||||
|
@ -444,7 +444,7 @@ B006_B008.py:293:52: B006 Do not use mutable data structures for argument defaul
|
||||||
295 297 |
|
295 297 |
|
||||||
296 298 |
|
296 298 |
|
||||||
|
|
||||||
B006_B008.py:297:52: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:297:52: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
297 | def single_line_func_wrong(value: dict[str, str] = {}):
|
297 | def single_line_func_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -453,7 +453,7 @@ B006_B008.py:297:52: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
294 294 | """Docstring"""; ...
|
294 294 | """Docstring"""; ...
|
||||||
295 295 |
|
295 295 |
|
||||||
296 296 |
|
296 296 |
|
||||||
|
@ -465,7 +465,7 @@ B006_B008.py:297:52: B006 Do not use mutable data structures for argument defaul
|
||||||
299 301 | ...
|
299 301 | ...
|
||||||
300 302 |
|
300 302 |
|
||||||
|
|
||||||
B006_B008.py:302:52: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:302:52: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
302 | def single_line_func_wrong(value: dict[str, str] = {
|
302 | def single_line_func_wrong(value: dict[str, str] = {
|
||||||
| ____________________________________________________^
|
| ____________________________________________________^
|
||||||
|
@ -476,7 +476,7 @@ B006_B008.py:302:52: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
299 299 | ...
|
299 299 | ...
|
||||||
300 300 |
|
300 300 |
|
||||||
301 301 |
|
301 301 |
|
||||||
|
@ -500,7 +500,7 @@ B006_B008.py:308:52: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
B006_B008.py:313:52: B006 Do not use mutable data structures for argument defaults
|
B006_B008.py:313:52: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
313 | def single_line_func_wrong(value: dict[str, str] = {}):
|
313 | def single_line_func_wrong(value: dict[str, str] = {}):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -508,7 +508,7 @@ B006_B008.py:313:52: B006 Do not use mutable data structures for argument defaul
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
310 310 | """Docstring"""
|
310 310 | """Docstring"""
|
||||||
311 311 |
|
311 311 |
|
||||||
312 312 |
|
312 312 |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
source: crates/ruff_linter/src/rules/flake8_bugbear/mod.rs
|
||||||
---
|
---
|
||||||
B006_extended.py:17:55: B006 Do not use mutable data structures for argument defaults
|
B006_extended.py:17:55: B006 [*] Do not use mutable data structures for argument defaults
|
||||||
|
|
|
|
||||||
17 | def error_due_to_missing_import(foo: ImmutableTypeA = []):
|
17 | def error_due_to_missing_import(foo: ImmutableTypeA = []):
|
||||||
| ^^ B006
|
| ^^ B006
|
||||||
|
@ -9,7 +9,7 @@ B006_extended.py:17:55: B006 Do not use mutable data structures for argument def
|
||||||
|
|
|
|
||||||
= help: Replace with `None`; initialize within function
|
= help: Replace with `None`; initialize within function
|
||||||
|
|
||||||
ℹ Possible fix
|
ℹ Suggested fix
|
||||||
14 14 | ...
|
14 14 | ...
|
||||||
15 15 |
|
15 15 |
|
||||||
16 16 |
|
16 16 |
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue