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

Perform semver-incompatible dependency updates; squash CI warnings #947

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

bgilbert
Copy link
Contributor

@bgilbert bgilbert commented Nov 17, 2024

Perform semver-incompatible dependency updates of captur, claims, crossterm, git2, unicode-width, and version-track. unicode-width now treats \n as having width 1.

Disable compiler warning for Rust 2021 expr fragment specifiers. A manual audit of the existing expr specifiers didn't turn up any problems with just switching to the 2024 semantics.

Fix clippy warnings. Set MSRV to avoid more clippy warnings. Reformat with latest Rust nightly.

@coveralls
Copy link

coveralls commented Nov 17, 2024

Pull Request Test Coverage Report for Build 11882144096

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 97.325%

Totals Coverage Status
Change from base Build 11858443437: 0.0%
Covered Lines: 4584
Relevant Lines: 4710

💛 - Coveralls

@bgilbert bgilbert changed the title Perform semver-incompatible dependency updates; squash compiler warning Perform semver-incompatible dependency updates; squash CI warnings Nov 17, 2024
@bgilbert bgilbert marked this pull request as draft November 17, 2024 09:44
A manual audit of the existing expr specifiers didn't turn up any problems
with just switching to the 2024 semantics.

https://doc.rust-lang.org/nightly/edition-guide/rust-2024/macro-fragment-specifiers.html
Inform Clippy of our minimum supported Rust version, so it won't advise us
to use #[expect] (which is too new).

We don't support older Rust because of cargo:: syntax in build.rs:

    error: the `cargo::` syntax for build script output instructions was added in Rust 1.77.0, but the minimum supported Rust version of `git-interactive-rebase-tool v2.4.1 (/home/bgilbert/sw/git-interactive-rebase-tool)` is 1.56.0.
    Switch to the old `cargo:rustc-check-cfg=cfg(allow_unknown_lints)` syntax (note the single colon).
    See https://doc.rust-lang.org/cargo/reference/build-scripts.html#outputs-of-the-build-script for more information about build script outputs.
This doesn't change whether the fields are accessible outside the crate,
and avoids clippy warnings:

    warning: scoped visibility modifier on a field
      --> src/input/key_bindings.rs:44:2
       |
    44 |     pub(crate) action_drop: Vec<Event>,
       |     ^^^^^^^^^^
       |
       = help: consider making the field private and adding a scoped visibility method for it
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_scoped_visibility_modifiers
It doesn't seem possible to disable the warning with an outer attribute,
and using an inner attribute would cause inconsistent linting across
files.  Just disable the warning everywhere; presumably when we exclude
code from test builds we do it intentionally.

https://rust-lang.github.io/rust-clippy/master/index.html#cfg_not_test
Upstream breaking change: `\n` is now treated as width 1.
@bgilbert bgilbert marked this pull request as ready for review November 17, 2024 20:58
@bgilbert
Copy link
Contributor Author

CI is clean; ready for review.

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