Avoid parsing other parts of a format specification if replacements are present#6858
Merged
Avoid parsing other parts of a format specification if replacements are present#6858
Conversation
zanieb
commented
Aug 24, 2023
Comment on lines
-969
to
+974
| Err(FormatSpecError::InvalidFormatType) | ||
| // Note this should be an `InvalidFormatType` but we give up | ||
| // on all other parsing validation when we see a placeholder | ||
| Ok(FormatSpec::Dynamic(DynamicFormatSpec { | ||
| placeholders: vec![FormatPart::Field { | ||
| field_name: String::new(), | ||
| conversion_spec: None, | ||
| format_spec: String::new() | ||
| }] | ||
| })) |
Member
Author
There was a problem hiding this comment.
Here's an example case where we no longer detect invalid format type specifications because there was a replacement earlier — this is a trade-off for generally safer analysis.
zanieb
commented
Aug 24, 2023
Comment on lines
826
to
836
| #[test] | ||
| fn test_format_part_with_others() { | ||
| let expected = Ok(FormatSpec { | ||
| conversion: None, | ||
| fill: None, | ||
| align: Some(FormatAlign::Left), | ||
| sign: None, | ||
| alternate_form: false, | ||
| width: Some(20), | ||
| grouping_option: None, | ||
| precision: None, | ||
| format_type: Some(FormatType::Binary), | ||
| replacements: vec![FormatPart::Field { | ||
| fn test_dynamic_format_spec_with_others() { | ||
| let expected = Ok(FormatSpec::Dynamic(DynamicFormatSpec { | ||
| placeholders: vec![FormatPart::Field { | ||
| field_name: "x".to_string(), | ||
| conversion_spec: None, | ||
| format_spec: String::new(), | ||
| }], | ||
| }); | ||
| })); | ||
| assert_eq!(FormatSpec::parse("<{x}20b"), expected); | ||
| } |
Member
Author
There was a problem hiding this comment.
Here we lose all these additional fields which were correct in this test but could be wrong depending on the dynamic content of the placeholder.
Contributor
PR Check ResultsEcosystem✅ ecosystem check detected no changes. BenchmarkLinuxWindows |
Thanks Charlie :)
Member
Author
|
#6877 fixes CI |
renovate bot
referenced
this pull request
in ixm-one/pytest-cmake-presets
Aug 25, 2023
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `^0.0.285` -> `^0.0.286` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286) <!-- Release notes generated using configuration in .github/release.yml at v0.0.286 --> #### What's Changed ##### New Rules - \[`flake8-bugbear`] Update `function-call-in-argument-default` (`B008`) to ignore arguments with immutable annotations by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/6853) **Full Changelog**: astral-sh/ruff@v0.0.285...v0.0.286 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jankatins
referenced
this pull request
in jankatins/pr-workflow-example
Aug 26, 2023
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `0.0.285` -> `0.0.286` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286) <!-- Release notes generated using configuration in .github/release.yml at v0.0.286 --> #### What's Changed ##### New Rules - \[`flake8-bugbear`] Update `function-call-in-argument-default` (`B008`) to ignore arguments with immutable annotations by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/6853) **Full Changelog**: astral-sh/ruff@v0.0.285...v0.0.286 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/jankatins/pr-workflow-example). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40MC4zIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
renovate bot
referenced
this pull request
in allenporter/flux-local
Aug 26, 2023
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.285` -> `==0.0.286` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286) <!-- Release notes generated using configuration in .github/release.yml at v0.0.286 --> #### What's Changed ##### New Rules - \[`flake8-bugbear`] Update `function-call-in-argument-default` (`B008`) to ignore arguments with immutable annotations by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/6853) **Full Changelog**: astral-sh/ruff@v0.0.285...v0.0.286 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot
referenced
this pull request
in allenporter/pyrainbird
Aug 27, 2023
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://beta.ruff.rs/docs) ([source](https://togithub.com/astral-sh/ruff), [changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.285` -> `==0.0.286` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286) <!-- Release notes generated using configuration in .github/release.yml at v0.0.286 --> #### What's Changed ##### New Rules - \[`flake8-bugbear`] Update `function-call-in-argument-default` (`B008`) to ignore arguments with immutable annotations by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/6853) **Full Changelog**: astral-sh/ruff@v0.0.285...v0.0.286 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #6767
Replaces #6773 (this cherry-picks some parts from there)
Alternative to the approach introduced in #6616 which added support for placeholders in format specifications while retaining parsing of other format specification parts.
The idea is that if there are placeholders in a format specification we will not attempt to glean semantic meaning from the other parts of the format specification we'll just extract all of the placeholders ignoring other characters. The dynamic content of placeholders can drastically change the meaning of the format specification in ways unknowable by static analysis. This change prevents false analysis and will ensure safety if we build other rules on top of this at the cost of missing detection of some bad specifications.
Minor note: I've use "replacements" and "placeholders" interchangeably but am trying to go with "placeholder" as I think it's a better term for the static analysis concept here