fixhunt

Findings

By rule

ruletoollabelfindingsjudged realupstreamexample
C413rufflabelled safe11relatedThe rule documentation explicitly states the fix is safe for `list()` cases because it does not change behavior, but th…
complexity/noUselessLoneBlockStatementsbiomelabelled safe11relatedThe fix removes a standalone block `{}` inside a try block that contains a `let x = 1` declaration. According to the do…
complexity/noUselessThisAliasbiomelabelled safe11relatedThe rule removed the variable declaration `var _this = this` and replaced the read of `_this` with `this`, but the read…
complexity/noUselessUndefinedbiomelabelled safe22relatedThe rule removes the initializer `undefined` from `let x = undefined`, turning it into `let x;`. In the program, a loca…
complexity/noUselessUndefinedInitializationbiomelabelled safe33duplicateThe fix removes the explicit `= undefined` initializer from a `var` declaration inside a loop. Because `var` is functio…
complexity/useRegexLiteralsbiomelabelled safe11relatedThe fix rewrites `new RegExp('a', 'xy')` to the invalid regex literal `/a/xy`, which contains illegal flags 'x' and 'y'…
complexity/useSimplifiedLogicExpressionbiomelabelled safe11duplicateThe rule rewrites 'true && function() { return 1; }()' to 'function() { return 1; }()', but a function expression in st…
F632rufflabelled safe61relatedThe rule rewrites 'd is {}' to 'd == {}', changing an identity check into a value comparison. The program defines a cla…
FURB103rufflabelled safe41duplicateThe rule rewrites a guarded write (`flag and f.write(...)`) inside a `with open` block to an unguarded `Path.write_text…
FURB110rufflabelled safe11duplicateThe rule rewrites 's.reading if s.reading else 0' to 's.reading or 0', but the property getter has a side effect (incre…
FURB129rufflabelled safe33relatedThe fix replaces `fp.readlines()` with `fp`, changing iteration from a pre-read list to a live file iterator. The loop …
no-array-constructoreslintlabelled safe11relatedThe program redefines `Array` to a custom function that returns an object with a `custom` property. The rule's document…
nursery/useConsistentTestItbiomelabelled safe22relatedThe rule assumes `it` and `test` are globally available aliases, but the program runs in an environment where neither i…
PLR1733rufflabelled safe44relatedThe fix incorrectly assumes the loop variable 'k' refers to the outer dictionary's key, but the inner loop shadows 'k' …
PLR1736rufflabelled safe22duplicateThe fix replaces `lst[i]` with the loop variable `x`, assuming the list is not mutated during iteration. However, the p…
prefer-exponentiation-operatoreslintlabelled safe11relatedThe program redefines `Math.pow` to perform addition, so `Math.pow(2, 3)` returns 5. The fix replaces the call with `2 …
prefer-numeric-literalseslintlabelled safe11relatedThe program uses the result of parseInt('111110111', 2) as a callable function, but the fix replaces it with the numeri…
RUF019rufflabelled safe66relatedThe rule assumes the object is a dict-like with a .get method, but the program uses a custom class that implements __co…
RUF051rufflabelled safe11relatedThe rule rewrites `if key in dictionary: del dictionary[key]` to `dictionary.pop(key, None)` assuming the key is hashab…
SIM911rufflabelled safe11relatedThe rule rewrites `zip(d.keys(), d.values())` to `d.items()`, but `zip` returns a reusable iterator while `dict.items()…
style/noNegationElsebiomelabelled safe11relatedThe fix incorrectly rewrites an if-else statement without braces by negating the condition and swapping branches, but p…
style/noUselessElsebiomelabelled safe33duplicateThe fix hoists the function declaration out of the else block, changing it from a block-scoped declaration (ES2015+) th…
style/useExponentiationOperatorbiomelabelled safe11relatedThe program assigns to Math.pow, which throws in strict mode but is caught, leaving Math.pow as the original function. …
style/useNamingConventionbiomelabelled safe11relatedThe fix renames class A_value to AValue, but the eval string concatenates Base.name to dynamically extend that class. A…
TC005rufflabelled safe66relatedThe rule removes an `if TYPE_CHECKING:` block without ensuring `TYPE_CHECKING` is imported from `typing`. In the origin…
TC006rufflabelled safe22relatedThe rule quotes the first argument of typing.cast() to enforce stylistic consistency, but the program uses a forward re…
UP004rufflabelled safe11relatedThe fix removes 'object' from the base class list of a class that also inherits from Mixin and Base, changing the MRO a…
UP005rufflabelled safe42relatedThe fix replaces the deprecated alias `assertEquals` with `assertEqual`, but the original code relied on the `Attribute…
G010rufflabelled safe81duplicateThe rule rewrites logger.warn to logger.warning assuming the logger object has a warning method, but the program uses a…
style/useNumberNamespacebiomelabelled safe55relatedThe rule rewrites the global `parseInt` call to `Number.parseInt`, but the program declares a local variable named `Num…
TC008rufflabelled safe11no matchThe rule removes quotes from a PEP 613 type alias that uses concatenated string literals ('int' '|' 'None'), rewriting …
UP018rufflabelled safe11no matchThe rule rewrites the string literal 'int(5)' inside a type annotation to '5', changing the annotation's stored value f…
UP009rufflabelled safe11relatedRemoving the encoding declaration shifts all subsequent line numbers up by one, which changes the value returned by ins…
suspicious/noPrototypeBuiltinsbiomelabelled safe70relatedThe program deliberately shadows hasOwnProperty on obj with a non-function value (42). The rule exists precisely to byp…
nursery/useUnicodeRegexbiomelabelled safe10relatedThe rule adds the 'u' flag to regexes lacking Unicode mode. The program constructs a new RegExp from an existing one an…
style/useNodeAssertStrictbiomelabelled safe10relatedThe rule intentionally changes the import from `node:assert` to `node:assert/strict` to enable stricter assertions. The…
style/useTrimStartEndbiomelabelled safe20no matchThe rule intentionally replaces the deprecated aliases trimLeft/trimRight with the standard trimStart/trimEnd methods. …
W605rufflabelled safe70duplicateThe rule rewrites the invalid escape sequence '\.' into a raw string r'\.' to eliminate the SyntaxWarning, which is exa…
complexity/noAdjacentSpacesInRegexbiomelabelled safe20duplicateThe fix rewrites the regex literal from /a b c/ to /a {2}b {2}c/, which changes the value of RegExp.prototype.source.…
E714rufflabelled safe10relatedThe rewrite changes `not b is b'hello'` to `b is not b'hello'`, which is semantically equivalent. The only observed dif…
RUF046rufflabelled safe10relatedThe fix removes the redundant `int()` call from the lambda's source code, which changes the text returned by `inspect.g…
UP011rufflabelled safe10relatedThe program parses its own source code and inspects the AST node for the decorator, checking whether the decorator call…
correctness/noGlobalDirnameFilenamebiomelabelled safe120no matchThe program runs as an ES module where __dirname is not defined, so it already fails before the fix with a ReferenceErr…
complexity/useFlatMapbiomelabelled safe10relatedThe program fails both before and after the fix because `arguments` is an array-like object without `map` or `flatMap` …
no-regex-spaceseslintlabelled safe20relatedThe program attempts to call a regular expression literal as a function, which throws a TypeError both before and after…
nursery/useVueBaseImportbiomelabelled safe90relatedThe program fails both before and after the fix because neither '@vue/reactivity' nor 'vue' packages are installed in t…
UP038rufflabelled unknown150no matchThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite …

All findings

ruletooloraclelabeljudgeupstreamsummary
1C413rufffix-changes-behaviorlabelled safereal · highrelatedThe rule documentation explicitly states the fix is safe for `list()` cases because it does not change behavior, but the program demonstrat…
2complexity/noUselessLoneBlockStatementsbiomefix-changes-behaviorlabelled safereal · highrelatedThe fix removes a standalone block `{}` inside a try block that contains a `let x = 1` declaration. According to the documentation, a block…
3complexity/noUselessThisAliasbiomefix-changes-behaviorlabelled safereal · highrelatedThe rule removed the variable declaration `var _this = this` and replaced the read of `_this` with `this`, but the read occurs before the d…
4complexity/noUselessUndefinedbiomefix-changes-behaviorlabelled safereal · highrelatedThe rule removes the initializer `undefined` from `let x = undefined`, turning it into `let x;`. In the program, a local variable named `un…
5complexity/noUselessUndefinedbiomefix-changes-behaviorlabelled safereal · highduplicateThe rule removes the default parameter `= undefined`, which changes the function's `length` property from 0 to 2 because trailing parameter…
6complexity/noUselessUndefinedInitializationbiomefix-changes-behaviorlabelled safereal · highduplicateThe fix removes the explicit `= undefined` initializer from a `var` declaration inside a loop. Because `var` is function-scoped, the origin…
7complexity/noUselessUndefinedInitializationbiomefix-changes-behaviorlabelled safereal · highduplicateThe fix removes the explicit `= undefined` initializer from a `var` declaration inside a block, but `var` is function-scoped and hoisted. T…
8complexity/noUselessUndefinedInitializationbiomefix-changes-behaviorlabelled safereal · highrelatedThe rule assumes the global `undefined` binding, but the program shadows `undefined` with a local variable holding 42. The fix removes the …
9complexity/useRegexLiteralsbiomefix-breaks-syntaxlabelled safereal · highrelatedThe fix rewrites `new RegExp('a', 'xy')` to the invalid regex literal `/a/xy`, which contains illegal flags 'x' and 'y'. The RegExp constru…
10complexity/useSimplifiedLogicExpressionbiomefix-breaks-syntaxlabelled safereal · highduplicateThe rule rewrites 'true && function() { return 1; }()' to 'function() { return 1; }()', but a function expression in statement position is …
11F632rufffix-changes-behaviorlabelled safereal · highrelatedThe rule rewrites 'd is {}' to 'd == {}', changing an identity check into a value comparison. The program defines a class with a custom __e…
12FURB103rufffix-changes-behaviorlabelled safereal · highduplicateThe rule rewrites a guarded write (`flag and f.write(...)`) inside a `with open` block to an unguarded `Path.write_text(...)`, removing the…
13FURB110rufffix-changes-behaviorlabelled safereal · highduplicateThe rule rewrites 's.reading if s.reading else 0' to 's.reading or 0', but the property getter has a side effect (incrementing a counter). …
14FURB129rufffix-changes-behaviorlabelled safereal · highrelatedThe fix replaces `fp.readlines()` with `fp`, changing iteration from a pre-read list to a live file iterator. The loop body calls `fp.seek(…
15FURB129rufffix-changes-behaviorlabelled safereal · highrelatedThe fix rewrites the loop to iterate over the file object directly, which consumes the file iterator. The subsequent call to `fp.readlines(…
16FURB129rufffix-changes-behaviorlabelled safereal · highrelatedThe rule rewrites `for line in fp.readlines():` to `for line in fp:`, which changes the file position semantics. In the original code, `fp.…
17no-array-constructoreslintfix-changes-behaviorlabelled safereal · highrelatedThe program redefines `Array` to a custom function that returns an object with a `custom` property. The rule's documentation explicitly war…
18nursery/useConsistentTestItbiomefix-changes-behaviorlabelled safereal · highrelatedThe rule assumes `it` and `test` are globally available aliases, but the program runs in an environment where neither is defined. The fix r…
19nursery/useConsistentTestItbiomefix-changes-behaviorlabelled safereal · highrelatedThe rule assumes `it` and `test` are interchangeable globals provided by the test framework, but the program uses `test` as a local variabl…
20PLR1733rufffix-changes-behaviorlabelled safereal · highrelatedThe fix incorrectly assumes the loop variable 'k' refers to the outer dictionary's key, but the inner loop shadows 'k' with the inner dicti…
21PLR1733rufffix-changes-behaviorlabelled safereal · highrelatedThe rule assumes that the value yielded by .items() is identical to the value returned by __getitem__, but the program uses a custom dict s…
22PLR1733rufffix-changes-behaviorlabelled safereal · highrelatedThe rule assumes the iterated object is a plain dict where m[k] is a pure lookup with no side effects. Here m is a custom Mapping whose __g…
23PLR1736rufffix-changes-behaviorlabelled safereal · highduplicateThe fix replaces `lst[i]` with the loop variable `x`, assuming the list is not mutated during iteration. However, the program rebinds `lst`…
24PLR1736rufffix-changes-behaviorlabelled safereal · highduplicateThe rule assumes the enumerate target is a list and the loop variables are distinct (index, item), so it replaces lst[lst] with lst. In the…
25prefer-exponentiation-operatoreslintfix-changes-behaviorlabelled safereal · highrelatedThe program redefines `Math.pow` to perform addition, so `Math.pow(2, 3)` returns 5. The fix replaces the call with `2 ** 3`, which uses th…
26prefer-numeric-literalseslintfix-changes-behaviorlabelled safereal · highrelatedThe program uses the result of parseInt('111110111', 2) as a callable function, but the fix replaces it with the numeric literal 503, which…
27RUF019rufffix-changes-behaviorlabelled safereal · highrelatedThe rule assumes the object is a dict-like with a .get method, but the program uses a custom class that implements __contains__ and __getit…
28RUF019rufffix-changes-behaviorlabelled safereal · highduplicateThe rule assumes the target object has a `get` method like a standard dict, but the program uses a custom class that implements `__contains…
29RUF019rufffix-changes-behaviorlabelled safereal · highrelatedThe rule assumes the target object has a `get` method like a standard dict, but the program uses a custom class `D` that implements `__cont…
30RUF019rufffix-changes-behaviorlabelled safereal · highrelatedThe rule assumes the object has a `get` method like a standard dict, but the program uses a custom mapping class that implements `__contain…
31RUF019rufffix-changes-behaviorlabelled safereal · highrelatedThe rule replaces an explicit key check (`'x' in d`) followed by access (`d['x']`) with a single `d.get('x')` call. In this program, the di…
32RUF019rufffix-changes-behaviorlabelled safereal · highrelatedThe rule replaces a key check plus direct access with dict.get, assuming get never raises. The program uses a dict subclass whose __getitem…
33RUF051rufffix-changes-behaviorlabelled safereal · highrelatedThe rule rewrites `if key in dictionary: del dictionary[key]` to `dictionary.pop(key, None)` assuming the key is hashable. In the program, …
34SIM911rufffix-changes-behaviorlabelled safereal · highrelatedThe rule rewrites `zip(d.keys(), d.values())` to `d.items()`, but `zip` returns a reusable iterator while `dict.items()` returns a view tha…
35style/noNegationElsebiomefix-breaks-syntaxlabelled safereal · highrelatedThe fix incorrectly rewrites an if-else statement without braces by negating the condition and swapping branches, but produces invalid synt…
36style/noUselessElsebiomefix-changes-behaviorlabelled safereal · highduplicateThe fix hoists the function declaration out of the else block, changing it from a block-scoped declaration (ES2015+) that only exists when …
37style/noUselessElsebiomefix-changes-behaviorlabelled safereal · highduplicateThe fix hoists a function declaration out of an else block into a switch case clause, where function declarations are not allowed in strict…
38style/noUselessElsebiomefix-breaks-syntaxlabelled safereal · highduplicateThe fix hoists the `let x = 2` declaration out of the `else` block into the same scope where `let x = 1` already exists, causing a duplicat…
39style/useExponentiationOperatorbiomefix-changes-behaviorlabelled safereal · highrelatedThe program assigns to Math.pow, which throws in strict mode but is caught, leaving Math.pow as the original function. The fix replaces Mat…
40style/useNamingConventionbiomefix-not-fixpointlabelled safereal · highrelatedThe fix renames class A_value to AValue, but the eval string concatenates Base.name to dynamically extend that class. After the fix, Base.n…
41TC005rufffix-changes-behaviorlabelled safereal · highrelatedThe rule removes an `if TYPE_CHECKING:` block without ensuring `TYPE_CHECKING` is imported from `typing`. In the original code, the block i…
42TC005rufffix-changes-behaviorlabelled safereal · highrelatedThe fix removes the `if TYPE_CHECKING:` block without ensuring `TYPE_CHECKING` is imported from `typing`. The original code crashed with a …
43TC005rufffix-changes-behaviorlabelled safereal · highduplicateThe fix removes the entire `if TYPE_CHECKING:` block, but the program does not import `TYPE_CHECKING` from `typing`. Before the fix, the bl…
44TC005rufffix-changes-behaviorlabelled safereal · highduplicateThe fix removes the `if TYPE_CHECKING:` guard but leaves a `pass` statement, changing the code from a no-op (when TYPE_CHECKING is undefine…
45TC005rufffix-changes-behaviorlabelled safereal · highduplicateThe rule removes an `if TYPE_CHECKING:` block without ensuring `TYPE_CHECKING` is imported from `typing`. In the original code, the `NameEr…
46TC005rufffix-changes-behaviorlabelled safereal · highduplicateThe fix replaces the TYPE_CHECKING conditional block with an unconditional 'pass' statement, which changes the function's behavior from rai…
47TC006rufffix-changes-behaviorlabelled safereal · highrelatedThe rule quotes the first argument of typing.cast() to enforce stylistic consistency, but the program uses a forward reference (T is assign…
48TC006rufffix-changes-behaviorlabelled safereal · highrelatedThe fix quotes the type expression 'MyType', changing it from a runtime-evaluated expression to a forward-reference string. This alters the…
49UP004rufffix-changes-behaviorlabelled safereal · highrelatedThe fix removes 'object' from the base class list of a class that also inherits from Mixin and Base, changing the MRO and resolving a previ…
50UP005rufffix-changes-behaviorlabelled safereal · highrelatedThe fix replaces the deprecated alias `assertEquals` with `assertEqual`, but the original code relied on the `AttributeError` from the miss…
51UP005rufffix-changes-behaviorlabelled safereal · highno matchThe rule rewrites self.assertEquals to self.assertEqual assuming it only replaces a deprecated alias, but the program defines a custom asse…
52G010rufffix-changes-behaviorlabelled safereal · mediumduplicateThe rule rewrites logger.warn to logger.warning assuming the logger object has a warning method, but the program uses a custom NullLogger c…
53PLR1733rufffix-changes-behaviorlabelled safereal · mediumrelatedThe program uses a dict subclass that overrides __getitem__ to log each access. The rule's fix replaces d[k] with the loop variable v, whic…
54style/useNumberNamespacebiomefix-changes-behaviorlabelled safereal · mediumrelatedThe rule rewrites the global `parseInt` call to `Number.parseInt`, but the program declares a local variable named `Number` that shadows th…
55style/useNumberNamespacebiomefix-changes-behaviorlabelled safereal · mediumrelatedThe rule rewrites global parseInt to Number.parseInt assuming the global Number object, but the program explicitly defines Number as undefi…
56style/useNumberNamespacebiomefix-changes-behaviorlabelled safereal · mediumrelatedThe rule rewrites global parseInt to Number.parseInt, but the program declares a local variable named Number that shadows the global Number…
57style/useNumberNamespacebiomefix-changes-behaviorlabelled safereal · mediumrelatedThe rule rewrites `parseInt` to `Number.parseInt` assuming `Number` refers to the global namespace, but the program declares a local variab…
58style/useNumberNamespacebiomefix-changes-behaviorlabelled safereal · mediumduplicateThe rule rewrites global parseInt to Number.parseInt assuming the global Number object, but the program declares a local const Number that …
59TC008rufffix-changes-behaviorlabelled safereal · mediumno matchThe rule removes quotes from a PEP 613 type alias that uses concatenated string literals ('int' '|' 'None'), rewriting it to the unquoted u…
60UP018rufffix-changes-behaviorlabelled safereal · mediumno matchThe rule rewrites the string literal 'int(5)' inside a type annotation to '5', changing the annotation's stored value from 'int(5)' to '5'.…
61UP009rufffix-changes-behaviorlabelled safereal · lowrelatedRemoving the encoding declaration shifts all subsequent line numbers up by one, which changes the value returned by inspect.currentframe().…
62F632rufffix-changes-behaviorlabelled safeintended-change · highduplicateThe rule rewrites `x is []` to `x == []`, changing an identity comparison to a value comparison. The documentation explicitly states that `…
63F632rufffix-changes-behaviorlabelled safeintended-change · highduplicateThe rule rewrites 'x is []' to 'x == []' because identity comparison with a list literal is always False; the program demonstrates the sema…
64suspicious/noPrototypeBuiltinsbiomefix-changes-behaviorlabelled safeintended-change · highrelatedThe program deliberately shadows hasOwnProperty on obj with a non-function value (42). The rule exists precisely to bypass such shadowing b…
65suspicious/noPrototypeBuiltinsbiomefix-changes-behaviorlabelled safeintended-change · highrelatedThe rule explicitly rewrites direct calls like obj.hasOwnProperty('x') to Object.hasOwn(obj, 'x') to bypass shadowed or missing prototype m…
66UP005rufffix-changes-behaviorlabelled safeintended-change · highno matchThe rule replaces the deprecated alias assertEquals with assertEqual, which is exactly the semantic change the rule documents. The before-r…
67F632rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites 'is' to '==' for literal comparisons because identity checks against literals are unreliable and will become SyntaxWarnin…
68F632rufffix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule rewrites identity comparison (`is`) to equality comparison (`==`) for literals, which is the documented semantic change. The progr…
69F632rufffix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule F632 explicitly rewrites identity comparisons (`is`) against literals to value comparisons (`==`) because `is` checks object ident…
70G010rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the deprecated .warn() method to .warning() as documented. The stderr difference occurs because the DeprecationWarning em…
71G010rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule replaces the deprecated `logger.warn` method with `logger.warning` as documented. The stderr difference occurs because the Depreca…
72G010rufffix-changes-behaviorlabelled safeintended-change · lowno matchThe rule intentionally rewrites the deprecated `logger.warn` method to `logger.warning` to eliminate the DeprecationWarning, which is the d…
73G010rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the deprecated `logger.warn` call to `logger.warning`, which the documentation states is functionally equivalent. The obs…
74G010rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule replaces the deprecated `logger.warn` with `logger.warning`, which the documentation states are functionally equivalent. The obser…
75G010rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the deprecated `warn` method to `warning` to eliminate the DeprecationWarning, which is exactly the documented purpose. T…
76G010rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the deprecated `logger.warn` call to `logger.warning` as documented. The stderr difference is exactly the removal of the …
77nursery/useUnicodeRegexbiomefix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule adds the 'u' flag to regexes lacking Unicode mode. The program constructs a new RegExp from an existing one and passes an addition…
78style/useNodeAssertStrictbiomefix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule intentionally changes the import from `node:assert` to `node:assert/strict` to enable stricter assertions. The observed difference…
79style/useTrimStartEndbiomefix-changes-behaviorlabelled safeintended-change · lowno matchThe rule intentionally replaces the deprecated aliases trimLeft/trimRight with the standard trimStart/trimEnd methods. The program calls tr…
80suspicious/noPrototypeBuiltinsbiomefix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule rewrites foo.hasOwnProperty('x') to Object.hasOwn(foo, 'x') specifically to bypass any shadowed or missing hasOwnProperty on the r…
81suspicious/noPrototypeBuiltinsbiomefix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule rewrites `fakeAll.hasOwnProperty('length')` to `Object.hasOwn(fakeAll, 'length')` to bypass any shadowed `hasOwnProperty` method. …
82suspicious/noPrototypeBuiltinsbiomefix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule intentionally replaces direct prototype method calls with static Object.hasOwn to avoid shadowing vulnerabilities. The original co…
83suspicious/noPrototypeBuiltinsbiomefix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule explicitly warns that prototype methods like hasOwnProperty can be shadowed and replaces direct calls with Object.hasOwn to bypass…
84suspicious/noPrototypeBuiltinsbiomefix-changes-behaviorlabelled safeintended-change · lowrelatedThe rule explicitly rewrites direct calls like obj.hasOwnProperty('foo') to Object.hasOwn(obj, 'foo') to bypass any shadowed or custom hasO…
85W605rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the invalid escape sequence '\.' into a raw string r'\.' to eliminate the SyntaxWarning, which is exactly the documented …
86W605rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the string literal containing an invalid escape sequence '\_' into a raw string r'\_' to eliminate the SyntaxWarning, whi…
87W605rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the invalid escape sequence '\_' to the valid escaped backslash '\\_', which changes the string value from a newline foll…
88W605rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the string literal '\_' to a raw string r'\_' to eliminate the SyntaxWarning about an invalid escape sequence. The observ…
89W605rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites an invalid escape sequence '\.' to a raw string r'\.' to eliminate the SyntaxWarning, which is exactly the documented pur…
90W605rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites an invalid escape sequence '\.' to a raw string r'\.' to eliminate the SyntaxWarning, which is the documented purpose of …
91W605rufffix-changes-behaviorlabelled safeintended-change · lowduplicateThe rule rewrites the string literal to a raw string to eliminate the SyntaxWarning about the invalid escape sequence '\_'. The stderr diff…
92complexity/noAdjacentSpacesInRegexbiomefix-changes-behaviorlabelled safeintrospection-only · lowduplicateThe fix rewrites the regex literal from /a b c/ to /a {2}b {2}c/, which changes the value of RegExp.prototype.source. The program only in…
93complexity/noAdjacentSpacesInRegexbiomefix-changes-behaviorlabelled safeintrospection-only · lowrelatedThe fix rewrites the regex literal from `/hello world/` to `/hello {2}world/`, which changes the value of `RegExp.prototype.source` that t…
94E714rufffix-changes-behaviorlabelled safeintrospection-only · lowrelatedThe rewrite changes `not b is b'hello'` to `b is not b'hello'`, which is semantically equivalent. The only observed difference is the Synta…
95RUF046rufffix-changes-behaviorlabelled safeintrospection-only · lowrelatedThe fix removes the redundant `int()` call from the lambda's source code, which changes the text returned by `inspect.getsource`. This is p…
96style/useTrimStartEndbiomefix-changes-behaviorlabelled safeintrospection-only · lowno matchThe program throws a TypeError because `s` is null, and the error message includes the method name that was called. The fix changes `trimLe…
97UP011rufffix-changes-behaviorlabelled safeintrospection-only · lowrelatedThe program parses its own source code and inspects the AST node for the decorator, checking whether the decorator call has zero arguments.…
98correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · highno matchThe program runs as an ES module where __dirname is not defined, so it already fails before the fix with a ReferenceError. The fix replaces…
99correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · highduplicateThe program runs as an ES module where __dirname is not defined, so it crashes before the fix. The rewrite replaces __dirname with import.m…
100correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · highduplicateThe program runs in an ES module environment where __dirname is not defined, causing a ReferenceError before the fix. The fix correctly rew…
101correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · highrelatedThe fix replaces __dirname with import.meta.dirname, which only exists in ES modules. The program runs as CommonJS (no package.json type: m…
102correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · highrelatedThe program runs in an ES module environment where __dirname is not defined, causing a ReferenceError before the fix. The fix correctly rew…
103UP005rufffix-changes-behaviorlabelled safeprogram-bug · highno matchThe original program already fails with an AttributeError because 'assertAlmostEquals' does not exist on the TestCase class in the executio…
104complexity/useFlatMapbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program fails both before and after the fix because `arguments` is an array-like object without `map` or `flatMap` methods. The rewrite…
105correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program runs as an ES module where __dirname is not defined, causing a ReferenceError before the fix. The rewrite replaces it with impo…
106correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · lowduplicateThe program runs as an ES module where __dirname is undefined, causing a ReferenceError before the fix. The rewrite to import.meta.dirname …
107correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · lowduplicateThe program runs as an ES module where __filename is undefined, causing a ReferenceError before the fix. The rewrite to import.meta.filenam…
108correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · lowno matchThe program runs as an ES module where __dirname is not defined, causing a ReferenceError before the fix. The fix replaces it with import.m…
109correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program runs in a CommonJS environment where __dirname exists but import.meta.dirname does not, so the original code catches a Referenc…
110correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · lowduplicateThe program runs as an ES module where __dirname is undefined, so it crashes before the fix; after the fix it uses import.meta.dirname whic…
111correctness/noGlobalDirnameFilenamebiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program runs as an ES module where __dirname is not defined, causing a ReferenceError before the fix. The fix correctly rewrites to imp…
112FURB103rufffix-changes-behaviorlabelled safeprogram-bug · lowduplicateThe program already fails before the fix because the object lacks a `__bytes__` method, causing a TypeError when `f.write(obj)` is called. …
113FURB103rufffix-changes-behaviorlabelled safeprogram-bug · lowno matchThe original program already fails with OSError: [Errno 9] Bad file descriptor because os.open returns an integer file descriptor, but the …
114FURB103rufffix-changes-behaviorlabelled safeprogram-bug · lowduplicateThe program already fails before the fix with a TypeError because f.write() requires a string argument but receives a Num object. The fix c…
115no-regex-spaceseslintfix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program attempts to call a regular expression literal as a function, which throws a TypeError both before and after the fix. The behavi…
116no-regex-spaceseslintfix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program fails before the fix with a TypeError because the regex literal is immediately followed by `.test` without a semicolon, causing…
117nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program fails both before and after the fix because neither '@vue/reactivity' nor 'vue' packages are installed in the execution environ…
118nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowduplicateBoth the original and fixed programs fail with ERR_MODULE_NOT_FOUND because neither '@vue/reactivity' nor 'vue' is installed in the executi…
119nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedThe program fails both before and after the fix because neither '@vue/reactivity' nor 'vue' is installed in the execution environment. The …
120nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedBoth the original and fixed programs fail with ERR_MODULE_NOT_FOUND because neither '@vue/reactivity' nor 'vue' is installed in the executi…
121nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedBoth the original and fixed programs fail with ERR_MODULE_NOT_FOUND because neither '@vue/reactivity' nor 'vue' is installed in the executi…
122nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedBoth the original and fixed programs fail with ERR_MODULE_NOT_FOUND because neither '@vue/runtime-core' nor 'vue' is installed in the execu…
123nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedBoth the original and fixed programs fail with ERR_MODULE_NOT_FOUND because neither '@vue/reactivity' nor 'vue' is installed in the executi…
124nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowduplicateBoth the original and fixed programs fail with ERR_MODULE_NOT_FOUND because neither '@vue/shared' nor 'vue' is installed in the execution e…
125nursery/useVueBaseImportbiomefix-changes-behaviorlabelled safeprogram-bug · lowrelatedBoth the original and fixed programs fail with ERR_MODULE_NOT_FOUND because neither '@vue/reactivity' nor 'vue' is installed in the executi…
126UP038rufftool-crashlabelled unknownprogram-bug · lowno matchThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite applied to the progr…
127UP038rufftool-crashlabelled unknownprogram-bug · lowrelatedThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, which is a tool availability issue unrelated to…
128UP038rufftool-crashlabelled unknownprogram-bug · lowduplicateThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite applied to the progr…
129UP038rufftool-crashlabelled unknownprogram-bug · lowrelatedThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite applied to the progr…
130UP038rufftool-crashlabelled unknownprogram-bug · lowduplicateThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any semantic change to the progr…
131UP038rufftool-crashlabelled unknownprogram-bug · lowduplicateThe rule UP038 has been removed from ruff entirely, so the linter crashes when trying to apply it. The program itself is trivial (x = 5) an…
132UP038rufftool-crashlabelled unknownprogram-bug · lowduplicateThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite applied to the progr…
133UP038rufftool-crashlabelled unknownprogram-bug · lowrelatedThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, so no fix was actually applied to the source co…
134UP038rufftool-crashlabelled unknownprogram-bug · lowno matchThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, so no fix was actually applied to the program. …
135UP038rufftool-crashlabelled unknownprogram-bug · lowno matchThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because the rewrite changed program semanti…
136UP038rufftool-crashlabelled unknownprogram-bug · lowrelatedThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite applied to the progr…
137UP038rufftool-crashlabelled unknownprogram-bug · lowrelatedThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite applied to the progr…
138UP038rufftool-crashlabelled unknownprogram-bug · lowrelatedThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because the rewrite changed program semanti…
139UP038rufftool-crashlabelled unknownprogram-bug · lowduplicateThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because of any rewrite applied to the progr…
140UP038rufftool-crashlabelled unknownprogram-bug · lowrelatedThe linter crashed because rule UP038 was removed from the codebase and cannot be selected, not because the rewrite changed program semanti…