-
Notifications
You must be signed in to change notification settings - Fork 13.5k
setup typos check in CI #134006
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
setup typos check in CI #134006
Conversation
r? @nnethercote rustbot has assigned @nnethercote. Use |
Some changes occurred in exhaustiveness checking cc @Nadrieril Some changes occurred to the CTFE machinery cc @rust-lang/wg-const-eval Some changes occurred in match checking cc @Nadrieril This PR changes MIR cc @oli-obk, @RalfJung, @JakobDegen, @davidtwco, @celinval, @vakaras Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
This comment has been minimized.
This comment has been minimized.
f01ec3c
to
5b7daa7
Compare
This comment has been minimized.
This comment has been minimized.
The Miri subtree was changed cc @rust-lang/miri |
@@ -795,7 +795,7 @@ impl<'a> Parser<'a> { | |||
// When there are a few keywords in the last ten elements of `self.expected_tokens` and the current | |||
// token is an identifier, it's probably a misspelled keyword. | |||
// This handles code like `async Move {}`, misspelled `if` in match guard, misspelled `else` in `if`-`else` | |||
// and mispelled `where` in a where clause. | |||
// and misspelled `where` in a where clause. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they misspelled "misspelled" 😀
//! Note 2: this only applies to matcheable values. For example a value of type `Rc<u64>` can't be | ||
//! Note 2: this only applies to matchable values. For example a value of type `Rc<u64>` can't be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't you add an exception for this in typos.toml
? I don't know which is correct but if there's an exception this should be kept, presumably.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reverted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't seem to be reverted. ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here #134006 (comment) reviewer said that this is not valid word, so i removed exception somewhere here 199e4e7.
I seem to recall a previous attempt at having typo-checks in CI that had a ton of false positives, this is much nicer, thanks. I can't approve the CI addition myself (does this require an FCP maybe?), but I looked through the typo fixes and they all look good to me. |
This comment has been minimized.
This comment has been minimized.
maybe an MCP? |
# Add exclusions here, lines should be like `x = "x"`, where `x` is excluded word. | ||
# | ||
# Also see docs: https://github.com/crate-ci/typos/blob/v1.28.2/docs/reference.md |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on the documentation these aren't exclusions, they're custom additions to the dictionary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but it is one of the ways to silence linter, so i wrote as exclusions
, to simplify wording.
Some changes occurred to the intrinsics. Make sure the CTFE / Miri interpreter cc @rust-lang/miri, @rust-lang/wg-const-eval Some changes occurred to the platform-builtins intrinsics. Make sure the cc @antoyo, @GuillaumeGomez, @bjorn3, @calebzulawski, @programmerjake |
There are changes to the cc @jieyouxu Some changes occurred in compiler/rustc_codegen_llvm/src/llvm/enzyme_ffi.rs cc @ZuseZ4 Some changes occurred to the CTFE / Miri interpreter cc @rust-lang/miri, @RalfJung, @oli-obk, @lcnr Some changes occurred in compiler/rustc_builtin_macros/src/autodiff.rs cc @ZuseZ4 Some changes occurred to the CTFE / Miri interpreter cc @rust-lang/miri |
library/panic_unwind/src/seh.rs
Outdated
@@ -264,7 +264,7 @@ static mut TYPE_DESCRIPTOR: _TypeDescriptor = _TypeDescriptor { | |||
// runtime under a try/catch block and the panic that we generate here will be | |||
// used as the result of the exception copy. This is used by the C++ runtime to | |||
// support capturing exceptions with std::exception_ptr, which we can't support | |||
// because Box<dyn Any> isn't clonable. | |||
// because Box<dyn Any> isn't cloneable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both "clonable" and "cloneable" are valid, so this should be reverted.
"typos", | ||
"spellcheck file checks", | ||
// sync version with .github/workflows/ci.yml | ||
Some("install tool via `cargo install [email protected]`".to_owned()), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it have to be v1.34.0? Would it make more sense to omit the version number? Seems like "the latest version" would be better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And s/ci.yml/spellcheck.yml/, as above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added commit with check that ensures that correct version is installed. In case if version differs, output from local check and CI will diverge (which is bad). This should probably be not fatal error in case if people have different version for whatever case.
.github/workflows/spellcheck.yml
Outdated
uses: actions/checkout@v4 | ||
|
||
- name: check typos | ||
# sync version with src/tools/tidy/src/ext_tool_checks.rs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two locations in that file that need to be synced, please mention that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Thanks for your patience on this, I think it's very close to being ready. That's a lot of nice typo fixes.
And just to confirm my understanding:
|
☔ The latest upstream changes (presumably #142974) made this pull request unmergeable. Please resolve the merge conflicts. |
Squashed previous commits and added review commit + commit where required version of typos checked.
Yes, run by default by separate job and will not immediately stop any other jobs in case if spellcheck fails.
Nope, running
Yes, and and can fix typos if |
Looks good! Squash the final two commits into the first commit and r=me. Thanks. @bors delegate=klensy |
✌️ @klensy, you can now approve this pull request! If @nnethercote told you to " |
setup typos check in CI This allows to check typos in CI, currently for compiler only (to reduce commit size with fixes). With current setup, exclude list is quite short, so it worth trying? Also includes commits with actual typo fixes. MCP: rust-lang/compiler-team#817 typos check currently turned for: * ./compiler * ./library * ./src/bootstrap * ./src/librustdoc After merging, PRs which enables checks for other crates (tools) can be implemented too. Found typos will **not break** other jobs immediately: (tests, building compiler for perf run). Job will be marked as red on completion in ~ 20 secs, so you will not forget to fix it whenever you want, before merging pr. Check typos: `python x.py test tidy --extra-checks=spellcheck` Apply typo fixes: `python x.py test tidy --extra-checks=spellcheck:fix` (in case if there only 1 suggestion of each typo) Current fail in this pr is expected and shows how typo errors emitted. Commit with error will be removed after r+.
Rollup of 6 pull requests Successful merges: - #134006 (setup typos check in CI) - #142876 (Port `#[target_feature]` to new attribute parsing infrastructure) - #143038 (avoid suggesting traits from private dependencies) - #143083 (Fix rustdoc not correctly showing attributes on re-exports) - #143283 (document optional jobs) - #143329 (minicore: use core's `diagnostic::on_unimplemented` messages) Failed merges: - #143237 (Port `#[no_implicit_prelude]` to the new attribute parsing infrastructure) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #134006 - klensy:typos, r=nnethercote setup typos check in CI This allows to check typos in CI, currently for compiler only (to reduce commit size with fixes). With current setup, exclude list is quite short, so it worth trying? Also includes commits with actual typo fixes. MCP: rust-lang/compiler-team#817 typos check currently turned for: * ./compiler * ./library * ./src/bootstrap * ./src/librustdoc After merging, PRs which enables checks for other crates (tools) can be implemented too. Found typos will **not break** other jobs immediately: (tests, building compiler for perf run). Job will be marked as red on completion in ~ 20 secs, so you will not forget to fix it whenever you want, before merging pr. Check typos: `python x.py test tidy --extra-checks=spellcheck` Apply typo fixes: `python x.py test tidy --extra-checks=spellcheck:fix` (in case if there only 1 suggestion of each typo) Current fail in this pr is expected and shows how typo errors emitted. Commit with error will be removed after r+.
This allows to check typos in CI, currently for compiler only (to reduce commit size with fixes). With current setup, exclude list is quite short, so it worth trying?
Also includes commits with actual typo fixes.
MCP: rust-lang/compiler-team#817
typos check currently turned for:
After merging, PRs which enables checks for other crates (tools) can be implemented too.
Found typos will not break other jobs immediately: (tests, building compiler for perf run). Job will be marked as red on completion in ~ 20 secs, so you will not forget to fix it whenever you want, before merging pr.
Check typos:
python x.py test tidy --extra-checks=spellcheck
Apply typo fixes:
python x.py test tidy --extra-checks=spellcheck:fix
(in case if there only 1 suggestion of each typo)Current fail in this pr is expected and shows how typo errors emitted. Commit with error will be removed after r+.