mirror of https://github.com/astral-sh/ruff
[`flake8-implicit-str-concat`] Normalize octals before merging concatenated strings in `single-line-implicit-string-concatenation` (`ISC001`) (#13118)
Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
This commit is contained in:
parent
eb3dc37faa
commit
483748c188
|
|
@ -79,3 +79,15 @@ _ = f"a {f"first"
|
||||||
+ f"second"} d"
|
+ f"second"} d"
|
||||||
_ = f"a {f"first {f"middle"}"
|
_ = f"a {f"first {f"middle"}"
|
||||||
+ f"second"} d"
|
+ f"second"} d"
|
||||||
|
|
||||||
|
# See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
_ = "\12""0" # fix should be "\0120"
|
||||||
|
_ = "\\12""0" # fix should be "\\120"
|
||||||
|
_ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
_ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
_ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
_ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
_ = "\8""0" # fix should be "\80"
|
||||||
|
_ = "\12""8" # fix should be "\128"
|
||||||
|
_ = "\12""foo" # fix should be "\12foo"
|
||||||
|
_ = "\12" "" # fix should be "\12"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
use std::borrow::Cow;
|
||||||
|
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
|
|
||||||
use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation};
|
use ruff_diagnostics::{Diagnostic, Edit, Fix, FixAvailability, Violation};
|
||||||
|
|
@ -172,9 +174,16 @@ fn concatenate_strings(a_range: TextRange, b_range: TextRange, locator: &Locator
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
let a_body = &a_text[a_leading_quote.len()..a_text.len() - a_trailing_quote.len()];
|
let mut a_body =
|
||||||
|
Cow::Borrowed(&a_text[a_leading_quote.len()..a_text.len() - a_trailing_quote.len()]);
|
||||||
let b_body = &b_text[b_leading_quote.len()..b_text.len() - b_trailing_quote.len()];
|
let b_body = &b_text[b_leading_quote.len()..b_text.len() - b_trailing_quote.len()];
|
||||||
|
|
||||||
|
if a_leading_quote.find(['r', 'R']).is_none()
|
||||||
|
&& matches!(b_body.bytes().next(), Some(b'0'..=b'7'))
|
||||||
|
{
|
||||||
|
normalize_ending_octal(&mut a_body);
|
||||||
|
}
|
||||||
|
|
||||||
let concatenation = format!("{a_leading_quote}{a_body}{b_body}{a_trailing_quote}");
|
let concatenation = format!("{a_leading_quote}{a_body}{b_body}{a_trailing_quote}");
|
||||||
let range = TextRange::new(a_range.start(), b_range.end());
|
let range = TextRange::new(a_range.start(), b_range.end());
|
||||||
|
|
||||||
|
|
@ -183,3 +192,39 @@ fn concatenate_strings(a_range: TextRange, b_range: TextRange, locator: &Locator
|
||||||
range,
|
range,
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Pads an octal at the end of the string
|
||||||
|
/// to three digits, if necessary.
|
||||||
|
fn normalize_ending_octal(text: &mut Cow<'_, str>) {
|
||||||
|
// Early return for short strings
|
||||||
|
if text.len() < 2 {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut rev_bytes = text.bytes().rev();
|
||||||
|
if let Some(last_byte @ b'0'..=b'7') = rev_bytes.next() {
|
||||||
|
// "\y" -> "\00y"
|
||||||
|
if has_odd_consecutive_backslashes(&mut rev_bytes.clone()) {
|
||||||
|
let prefix = &text[..text.len() - 2];
|
||||||
|
*text = Cow::Owned(format!("{prefix}\\00{}", last_byte as char));
|
||||||
|
}
|
||||||
|
// "\xy" -> "\0xy"
|
||||||
|
else if let Some(penultimate_byte @ b'0'..=b'7') = rev_bytes.next() {
|
||||||
|
if has_odd_consecutive_backslashes(&mut rev_bytes.clone()) {
|
||||||
|
let prefix = &text[..text.len() - 3];
|
||||||
|
*text = Cow::Owned(format!(
|
||||||
|
"{prefix}\\0{}{}",
|
||||||
|
penultimate_byte as char, last_byte as char
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn has_odd_consecutive_backslashes(mut itr: impl Iterator<Item = u8>) -> bool {
|
||||||
|
let mut odd_backslashes = false;
|
||||||
|
while let Some(b'\\') = itr.next() {
|
||||||
|
odd_backslashes = !odd_backslashes;
|
||||||
|
}
|
||||||
|
odd_backslashes
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -296,4 +296,202 @@ ISC.py:73:20: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
75 75 | f"def"} g"
|
75 75 | f"def"} g"
|
||||||
76 76 |
|
76 76 |
|
||||||
|
|
||||||
|
ISC.py:84:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
| ^^^^^^^^ ISC001
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
81 81 | + f"second"} d"
|
||||||
|
82 82 |
|
||||||
|
83 83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 |-_ = "\12""0" # fix should be "\0120"
|
||||||
|
84 |+_ = "\0120" # fix should be "\0120"
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
|
||||||
|
ISC.py:85:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
| ^^^^^^^^^ ISC001
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
82 82 |
|
||||||
|
83 83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 |-_ = "\\12""0" # fix should be "\\120"
|
||||||
|
85 |+_ = "\\120" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
|
||||||
|
ISC.py:86:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
83 83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 |-_ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
86 |+_ = "\\\0120" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
|
||||||
|
ISC.py:87:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
84 84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 |-_ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
87 |+_ = "\12 00" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
|
||||||
|
ISC.py:88:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 |-_ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
88 |+_ = r"\120" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
|
||||||
|
ISC.py:89:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
| ^^^^^^^^^^^^^^^^^ ISC001
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 |-_ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
89 |+_ = "\12 and more0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
|
||||||
|
ISC.py:90:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
| ^^^^^^^ ISC001
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 |-_ = "\8""0" # fix should be "\80"
|
||||||
|
90 |+_ = "\80" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
||||||
|
ISC.py:91:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
| ^^^^^^^^ ISC001
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 |-_ = "\12""8" # fix should be "\128"
|
||||||
|
91 |+_ = "\128" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
||||||
|
ISC.py:92:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 |-_ = "\12""foo" # fix should be "\12foo"
|
||||||
|
92 |+_ = "\12foo" # fix should be "\12foo"
|
||||||
|
93 93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
||||||
|
ISC.py:93:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
| ^^^^^^^^ ISC001
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 |-_ = "\12" "" # fix should be "\12"
|
||||||
|
93 |+_ = "\12" # fix should be "\12"
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,6 @@ ISC.py:80:10: ISC003 Explicitly concatenated string should be implicitly concate
|
||||||
| __________^
|
| __________^
|
||||||
81 | | + f"second"} d"
|
81 | | + f"second"} d"
|
||||||
| |_______________^ ISC003
|
| |_______________^ ISC003
|
||||||
|
82 |
|
||||||
|
83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
|
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -296,4 +296,202 @@ ISC.py:73:20: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
75 75 | f"def"} g"
|
75 75 | f"def"} g"
|
||||||
76 76 |
|
76 76 |
|
||||||
|
|
||||||
|
ISC.py:84:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
| ^^^^^^^^ ISC001
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
81 81 | + f"second"} d"
|
||||||
|
82 82 |
|
||||||
|
83 83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 |-_ = "\12""0" # fix should be "\0120"
|
||||||
|
84 |+_ = "\0120" # fix should be "\0120"
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
|
||||||
|
ISC.py:85:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
| ^^^^^^^^^ ISC001
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
82 82 |
|
||||||
|
83 83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 |-_ = "\\12""0" # fix should be "\\120"
|
||||||
|
85 |+_ = "\\120" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
|
||||||
|
ISC.py:86:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
83 83 | # See https://github.com/astral-sh/ruff/issues/12936
|
||||||
|
84 84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 |-_ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
86 |+_ = "\\\0120" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
|
||||||
|
ISC.py:87:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
84 84 | _ = "\12""0" # fix should be "\0120"
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 |-_ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
87 |+_ = "\12 00" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
|
||||||
|
ISC.py:88:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
85 85 | _ = "\\12""0" # fix should be "\\120"
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 |-_ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
88 |+_ = r"\120" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
|
||||||
|
ISC.py:89:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
| ^^^^^^^^^^^^^^^^^ ISC001
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
86 86 | _ = "\\\12""0" # fix should be "\\\0120"
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 |-_ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
89 |+_ = "\12 and more0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
|
||||||
|
ISC.py:90:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
| ^^^^^^^ ISC001
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
87 87 | _ = "\12 0""0" # fix should be "\12 00"
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 |-_ = "\8""0" # fix should be "\80"
|
||||||
|
90 |+_ = "\80" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
||||||
|
ISC.py:91:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
| ^^^^^^^^ ISC001
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
88 88 | _ = r"\12"r"0" # fix should be r"\120"
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 |-_ = "\12""8" # fix should be "\128"
|
||||||
|
91 |+_ = "\128" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
||||||
|
ISC.py:92:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
| ^^^^^^^^^^ ISC001
|
||||||
|
93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
89 89 | _ = "\12 and more""0" # fix should be "\12 and more0"
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 |-_ = "\12""foo" # fix should be "\12foo"
|
||||||
|
92 |+_ = "\12foo" # fix should be "\12foo"
|
||||||
|
93 93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
|
||||||
|
ISC.py:93:5: ISC001 [*] Implicitly concatenated string literals on one line
|
||||||
|
|
|
||||||
|
91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 | _ = "\12" "" # fix should be "\12"
|
||||||
|
| ^^^^^^^^ ISC001
|
||||||
|
|
|
||||||
|
= help: Combine string literals
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
90 90 | _ = "\8""0" # fix should be "\80"
|
||||||
|
91 91 | _ = "\12""8" # fix should be "\128"
|
||||||
|
92 92 | _ = "\12""foo" # fix should be "\12foo"
|
||||||
|
93 |-_ = "\12" "" # fix should be "\12"
|
||||||
|
93 |+_ = "\12" # fix should be "\12"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue