diff --git a/.cargo/config.toml b/.cargo/config.toml index ba321231..a6985283 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,3 +1,6 @@ +[resolver] +incompatible-rust-versions = "fallback" + [target.x86_64-pc-windows-msvc] rustflags = ["-Ctarget-feature=+crt-static"] diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 6dd11533..dbf30f1b 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -9,13 +9,13 @@ customManagers: [ { customType: 'regex', - fileMatch: [ - '^rust-toolchain\\.toml$', - 'Cargo.toml$', - 'clippy.toml$', - '\\.clippy.toml$', - '^\\.github/workflows/ci.yml$', - '^\\.github/workflows/rust-next.yml$', + managerFilePatterns: [ + '/^rust-toolchain\\.toml$/', + '/Cargo.toml$/', + '/clippy.toml$/', + '/\\.clippy.toml$/', + '/^\\.github/workflows/ci.yml$/', + '/^\\.github/workflows/rust-next.yml$/', ], matchStrings: [ 'STABLE.*?(?\\d+\\.\\d+(\\.\\d+)?)', diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5800ecc2..db00e989 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: - name: Build run: cargo test --workspace --no-run - name: Test - run: cargo hack test --feature-powerset --workspace + run: cargo hack test --each-feature --workspace msrv: name: "Check MSRV" runs-on: ubuntu-latest @@ -66,7 +66,7 @@ jobs: - uses: Swatinem/rust-cache@v2 - uses: taiki-e/install-action@cargo-hack - name: Default features - run: cargo hack check --feature-powerset --locked --rust-version --ignore-private --workspace --all-targets + run: cargo hack check --each-feature --locked --rust-version --ignore-private --workspace --all-targets --keep-going wasm: name: "Check wasm" runs-on: ubuntu-latest @@ -115,7 +115,7 @@ jobs: - name: Check documentation env: RUSTDOCFLAGS: -D warnings - run: cargo doc --workspace --all-features --no-deps --document-private-items + run: cargo doc --workspace --all-features --no-deps --document-private-items --keep-going rustfmt: name: rustfmt runs-on: ubuntu-latest @@ -161,7 +161,7 @@ jobs: sarif_file: clippy-results.sarif wait-for-processing: true - name: Report status - run: cargo clippy --workspace --all-features --all-targets -- -D warnings --allow deprecated + run: cargo clippy --workspace --all-features --all-targets --keep-going -- -D warnings --allow deprecated coverage: name: Coverage runs-on: ubuntu-latest diff --git a/.github/workflows/rust-next.yml b/.github/workflows/rust-next.yml index 042e35c4..61aaf552 100644 --- a/.github/workflows/rust-next.yml +++ b/.github/workflows/rust-next.yml @@ -42,7 +42,7 @@ jobs: - name: Build run: cargo test --workspace --no-run - name: Test - run: cargo hack test --feature-powerset --workspace + run: cargo hack test --each-feature --workspace latest: name: "Check latest dependencies" runs-on: ubuntu-latest @@ -61,4 +61,4 @@ jobs: - name: Build run: cargo test --workspace --no-run - name: Test - run: cargo hack test --feature-powerset --workspace + run: cargo hack test --each-feature --workspace diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 31428a22..1e0b2110 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,21 +1,15 @@ +default_install_hook_types: ["pre-commit", "commit-msg"] repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v5.0.0 hooks: - id: check-yaml - stages: [commit] - id: check-json - stages: [commit] - id: check-toml - stages: [commit] - id: check-merge-conflict - stages: [commit] - id: check-case-conflict - stages: [commit] - id: detect-private-key - stages: [commit] - repo: https://github.com/crate-ci/committed - rev: v1.0.20 + rev: v1.1.7 hooks: - id: committed - stages: [commit-msg] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e44edc92..15d7b332 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,7 @@ talked about. ## Pull Requests -Looking for an idea? Check our [issues][issues]. If it's look more open ended, +Looking for an idea? Check our [issues][issues]. If the issue looks open ended, it is probably best to post on the issue how you are thinking of resolving the issue so you can get feedback early in the process. We want you to be successful and it can be discouraging to find out a lot of re-work is needed. @@ -78,15 +78,18 @@ As a heads up, we'll be running your PR through the following gauntlet: Not everything can be checked automatically though. We request that the commit history gets cleaned up. + We ask that commits are atomic, meaning they are complete and have a single responsibility. -PRs should tell a cohesive story, with test and refactor commits that keep the +A complete commit should build, pass tests, update documentation and tests, and not have dead code. + +PRs should tell a cohesive story, with refactor and test commits that keep the fix or feature commits simple and clear. Specifically, we would encourage - File renames be isolated into their own commit -- Add tests in a commit before their feature or fix, showing the current behavior. +- Add tests in a commit before their feature or fix, showing the current behavior (i.e. they should pass). The diff for the feature/fix commit will then show how the behavior changed, - making it clearer to reviewers and the community and showing people that the + making the commit's intent clearer to reviewers and the community, and showing people that the test is verifying the expected state. - e.g. [clap#5520](https://github.com/clap-rs/clap/pull/5520) diff --git a/Cargo.lock b/Cargo.lock index 4c67c454..e32de887 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -127,9 +127,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "automod" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf3ee19dbc0a46d740f6f0926bde8c50f02bdbc7b536842da28f6ac56513a8b" +checksum = "ebb4bd301db2e2ca1f5be131c24eb8ebf2d9559bc3744419e93baf8ddea7e670" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 27fdbd95..ed9799a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,6 +22,7 @@ include = [ [workspace.lints.rust] rust_2018_idioms = { level = "warn", priority = -1 } +unnameable_types = "warn" unreachable_pub = "warn" unsafe_op_in_unsafe_fn = "warn" unused_lifetimes = "warn" @@ -64,6 +65,7 @@ lossy_float_literal = "warn" macro_use_imports = "warn" mem_forget = "warn" mutex_integer = "warn" +needless_continue = "allow" needless_for_each = "warn" negative_feature_names = "warn" path_buf_push_overwrite = "warn" diff --git a/crates/codespell-dict/Cargo.toml b/crates/codespell-dict/Cargo.toml index 4c2f604d..d76faa5d 100644 --- a/crates/codespell-dict/Cargo.toml +++ b/crates/codespell-dict/Cargo.toml @@ -2,7 +2,6 @@ name = "codespell-dict" version = "0.5.0" description = "Source Code Spelling Correction" -readme = "README.md" categories = ["development-tools", "text-processing"] keywords = ["development", "spelling"] publish = false diff --git a/crates/misspell-dict/Cargo.toml b/crates/misspell-dict/Cargo.toml index baace49b..c7afba4c 100644 --- a/crates/misspell-dict/Cargo.toml +++ b/crates/misspell-dict/Cargo.toml @@ -2,7 +2,6 @@ name = "misspell-dict" version = "0.4.0" description = "Source Code Spelling Correction" -readme = "README.md" categories = ["development-tools", "text-processing"] keywords = ["development", "spelling"] repository.workspace = true diff --git a/crates/wikipedia-dict/Cargo.toml b/crates/wikipedia-dict/Cargo.toml index 03ef4dc5..be8e78ba 100644 --- a/crates/wikipedia-dict/Cargo.toml +++ b/crates/wikipedia-dict/Cargo.toml @@ -2,7 +2,6 @@ name = "wikipedia-dict" version = "0.4.0" description = "Source Code Spelling Correction" -readme = "README.md" categories = ["development-tools", "text-processing"] keywords = ["development", "spelling"] publish = false diff --git a/deny.toml b/deny.toml index ee5ae89b..2982ba3d 100644 --- a/deny.toml +++ b/deny.toml @@ -94,6 +94,7 @@ allow = [ "CC0-1.0", "ISC", "OpenSSL", + "Zlib", ] # The confidence threshold for detecting a license from license text. # The higher the value, the more closely the license text must be to the