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

Remove Result from SourceCodeGenerator signature #1677

Merged
merged 2 commits into from
Jan 6, 2023

Conversation

charliermarsh
Copy link
Member

@charliermarsh charliermarsh commented Jan 6, 2023

We populate this buffer ourselves, so I believe it's fine for us to use an unchecked UTF-8 cast here. It dramatically simplifies so much downstream code.

pub fn generate(self) -> Result<String, FromUtf8Error> {
String::from_utf8(self.buffer)
pub fn generate(self) -> String {
unsafe { String::from_utf8_unchecked(self.buffer) }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would be the only unsafe block in Ruff, which is unfortunate. Consider .unwrap() instead?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I'm totally fine with that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think it's a bad idea to fail hard here vs. propagating the error?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Panicking with unwrap or expect seems like a fine reaction to a bug that broke our internal invariants; the backtrace would make it clear what happened in that event.

@charliermarsh charliermarsh merged commit 8caa73d into main Jan 6, 2023
@charliermarsh charliermarsh deleted the charlie/generator branch January 6, 2023 02:41
charliermarsh pushed a commit that referenced this pull request Jan 7, 2023
This is the real issue underneath the `unsafe`/`unwrap` quandry in
#1677.

Signed-off-by: Anders Kaseorg <[email protected]>
bruxisma referenced this pull request in ixm-one/pytest-cmake-presets Jan 7, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ruff](https://togithub.com/charliermarsh/ruff) | `^0.0.212` ->
`^0.0.213` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.213/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.213/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.213/compatibility-slim/0.0.212)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.213/confidence-slim/0.0.212)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.213`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.213)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.212...v0.0.213)

#### What's Changed

- Remove Result from SourceCodeGenerator signature by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1677](https://togithub.com/charliermarsh/ruff/pull/1677)
- Implement `From` conversion for style detector-to-generator by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1678](https://togithub.com/charliermarsh/ruff/pull/1678)
- Replace `toml` with `toml_edit` by
[@&#8203;messense](https://togithub.com/messense) in
[https://github.com/charliermarsh/ruff/pull/1680](https://togithub.com/charliermarsh/ruff/pull/1680)
- Tweak badge logo by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1681](https://togithub.com/charliermarsh/ruff/pull/1681)
- Don't mark D205 as fixable in more-lines case by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1682](https://togithub.com/charliermarsh/ruff/pull/1682)
- Add requested context to issue template by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1679](https://togithub.com/charliermarsh/ruff/pull/1679)
- Update `CONTRIBUTING.md` location on `README.md` by
[@&#8203;saadmk11](https://togithub.com/saadmk11) in
[https://github.com/charliermarsh/ruff/pull/1688](https://togithub.com/charliermarsh/ruff/pull/1688)
- Implement flake8-simplify SIM108 by
[@&#8203;messense](https://togithub.com/messense) in
[https://github.com/charliermarsh/ruff/pull/1684](https://togithub.com/charliermarsh/ruff/pull/1684)
- Remove TODO comment by [@&#8203;harupy](https://togithub.com/harupy)
in
[https://github.com/charliermarsh/ruff/pull/1691](https://togithub.com/charliermarsh/ruff/pull/1691)
- Add specialized conversions for RefEquality by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1689](https://togithub.com/charliermarsh/ruff/pull/1689)
- Avoiding flagging elif statements as potential ternaries by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1694](https://togithub.com/charliermarsh/ruff/pull/1694)
- \[`flake8-bandit`] Add Rule for `S113` (requests call without timeout)
by [@&#8203;saadmk11](https://togithub.com/saadmk11) in
[https://github.com/charliermarsh/ruff/pull/1692](https://togithub.com/charliermarsh/ruff/pull/1692)
- Implement flake8-simplify SIM109 by
[@&#8203;messense](https://togithub.com/messense) in
[https://github.com/charliermarsh/ruff/pull/1687](https://togithub.com/charliermarsh/ruff/pull/1687)
- Simplify SIM201, SIM202, SIM208 by
[@&#8203;chammika-become](https://togithub.com/chammika-become) in
[https://github.com/charliermarsh/ruff/pull/1666](https://togithub.com/charliermarsh/ruff/pull/1666)
- \[`flake8-bandit`] Add Rule for `S501` (request call with
`verify=False`) by [@&#8203;saadmk11](https://togithub.com/saadmk11) in
[https://github.com/charliermarsh/ruff/pull/1695](https://togithub.com/charliermarsh/ruff/pull/1695)
- Require explicit opt-in for GitHub and Gitlab formats by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1697](https://togithub.com/charliermarsh/ruff/pull/1697)
- Include error location in GitHub Action diagnostic messages by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1696](https://togithub.com/charliermarsh/ruff/pull/1696)
- Include list of fixed files in `stderr` output by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1701](https://togithub.com/charliermarsh/ruff/pull/1701)
- Remove redundant #!\[allow()] from main_native by
[@&#8203;andersk](https://togithub.com/andersk) in
[https://github.com/charliermarsh/ruff/pull/1703](https://togithub.com/charliermarsh/ruff/pull/1703)
- Forbid unsafe code by [@&#8203;andersk](https://togithub.com/andersk)
in
[https://github.com/charliermarsh/ruff/pull/1704](https://togithub.com/charliermarsh/ruff/pull/1704)
- Switch SourceCodeGenerator.buffer from Vec<u8> to String by
[@&#8203;andersk](https://togithub.com/andersk) in
[https://github.com/charliermarsh/ruff/pull/1702](https://togithub.com/charliermarsh/ruff/pull/1702)
- Remove `add_check` methods by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1705](https://togithub.com/charliermarsh/ruff/pull/1705)
- Use `trim_end` when checking line continutation by
[@&#8203;harupy](https://togithub.com/harupy) in
[https://github.com/charliermarsh/ruff/pull/1706](https://togithub.com/charliermarsh/ruff/pull/1706)
- Automatically remove unused variables by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1683](https://togithub.com/charliermarsh/ruff/pull/1683)
- Lazily compute ranges for class and function bindings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1708](https://togithub.com/charliermarsh/ruff/pull/1708)
- Add more backticks to flake8-pytest-style error messages by
[@&#8203;harupy](https://togithub.com/harupy) in
[https://github.com/charliermarsh/ruff/pull/1707](https://togithub.com/charliermarsh/ruff/pull/1707)
- Increase blackd wait time by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1709](https://togithub.com/charliermarsh/ruff/pull/1709)
- Revert "Include list of fixed files in `stderr` output
([#&#8203;1701](https://togithub.com/charliermarsh/ruff/issues/1701))"
by [@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/1711](https://togithub.com/charliermarsh/ruff/pull/1711)

**Full Changelog**:
astral-sh/ruff@v0.0.212...v0.0.213

</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://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC44NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuODQuMiJ9-->

Signed-off-by: Renovate Bot <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants