Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(core): infinite lint loops #390

Merged
merged 2 commits into from
Jan 21, 2025
Merged

fix(core): infinite lint loops #390

merged 2 commits into from
Jan 21, 2025

Conversation

elijah-potter
Copy link
Collaborator

@elijah-potter elijah-potter commented Jan 15, 2025

We solved #225, but the rule we created had an issue that resulted in an infinite loop. One would "fix" a problem, but the fix would create another problem that the same rule would pick up.

This demonstrated a hole in our testing tools, which this PR aims to fill. By checking to make sure all invocations of assert_suggestion result create no new lints, we can cut down on this kind of error significantly.

By doing this in fact, we also found a bug in #376.

@elijah-potter elijah-potter added bug Something isn't working rust Pull requests that update Rust code harper-core linting labels Jan 15, 2025
@elijah-potter elijah-potter merged commit 4d8b80e into master Jan 21, 2025
17 checks passed
@elijah-potter elijah-potter deleted the infinite-lint-loops branch January 21, 2025 18:21
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Jan 28, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Automattic/harper/harper-ls](https://github.com/Automattic/harper) | minor | `v0.16.0` -> `v0.18.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>Automattic/harper (Automattic/harper/harper-ls)</summary>

### [`v0.18.0`](https://github.com/Automattic/harper/releases/tag/v0.18.0)

[Compare Source](Automattic/harper@v0.17.0...v0.18.0)

#### What's Changed

-   fix two grammatical errors by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#481
-   Reword description of "that which" to avoid ironic redundancy by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#479
-   feat([#&#8203;422](Automattic/harper#422)): add `same than` -> `same as` matcher trigger by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#453
-   missing definite article, comma placement by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#480
-   Improvements to `PluralConjugate` by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#474
-   correct Valentine's Day by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#491
-   typo in zed integration doc by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#490
-   feat(core): created linter for [#&#8203;426](Automattic/harper#426) by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#452
-   I missed a lets/let's mistake in a comment by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#492
-   docs: rewrote instructions on how to author a rule by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#482
-   missing indefinite article in comments by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#488
-   Apply rule from issue [#&#8203;465](Automattic/harper#465) to core document.rs by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#510
-   feat(core): allow trailing commas in the `lint_group` macro by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#483
-   fix agreement error in docs by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#417

**Full Changelog**: Automattic/harper@v0.17.0...v0.18.0

### [`v0.17.0`](https://github.com/Automattic/harper/releases/tag/v0.17.0)

[Compare Source](Automattic/harper@v0.16.0...v0.17.0)

#### What's Changed

-   feat([#&#8203;393](Automattic/harper#393)): add clap version & about attributes by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#394
-   docs: added Homebrew as an installation method by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#395
-   typos/spelling/grammar fixes in comments, docs, and strings by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#398
-   fix(core): harden title case module by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#396
-   fix(core): indexing problems by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#409
-   fix typo: remove extraneous 'to' by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#418
-   chore: update description of Oxford rule by [@&#8203;ccoVeille](https://github.com/ccoVeille) in Automattic/harper#419
-   build(deps): bump itertools from 0.13.0 to 0.14.0 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#431
-   build(deps): bump serde_json from 1.0.135 to 1.0.137 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#429
-   Typst Test Fixes by [@&#8203;grantlemons](https://github.com/grantlemons) in Automattic/harper#391
-   build(deps): bump clap from 4.5.23 to 4.5.27 by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#444
-   feat: Update VSCode Config by [@&#8203;mcecode](https://github.com/mcecode) in Automattic/harper#400
-   fix(core): infinite lint loops by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#390
-   Clean Up `harper-ls` logs by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#447
-   build(deps): bump undici from 6.19.8 to 6.21.1 in /packages by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#450
-   typo by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#462
-   fix(core): the Oxford comma applies to `nor` as well by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#445
-   feat(harper.js): added ability to explicitly set config to the default by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#449
-   build(deps-dev): bump vite from 6.0.5 to 6.0.9 in /packages by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#448
-   feat(core): created a  new rule that resolves [#&#8203;414](Automattic/harper#414) by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#455
-   build(deps-dev): bump vite from 5.4.11 to 5.4.12 in /packages by [@&#8203;dependabot](https://github.com/dependabot) in Automattic/harper#475
-   docs: added page to explain tooling for reviewers by [@&#8203;elijah-potter](https://github.com/elijah-potter) in Automattic/harper#471
-   fix instance of [#&#8203;384](Automattic/harper#384) in docs by [@&#8203;hippietrail](https://github.com/hippietrail) in Automattic/harper#477

#### New Contributors

-   [@&#8203;hippietrail](https://github.com/hippietrail) made their first contribution in Automattic/harper#398
-   [@&#8203;ccoVeille](https://github.com/ccoVeille) made their first contribution in Automattic/harper#419

**Full Changelog**: Automattic/harper@v0.16.0...v0.17.0

</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 MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMjYuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEzNC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working harper-core linting rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant