-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Rollup of 8 pull requests #125436
Rollup of 8 pull requests #125436
Commits on May 15, 2024
-
Also apply
warn(for_loops_over_fallibles)
to &T and &mut T, not jus……t T = Result/Option.
Configuration menu - View commit details
-
Copy full SHA for 4be041a - Browse repository at this point
Copy the full SHA 4be041aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d7eb97 - Browse repository at this point
Copy the full SHA 7d7eb97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 77f288c - Browse repository at this point
Copy the full SHA 77f288cView commit details -
Add tests for 'Also apply
warn(for_loops_over_fallibles)
to &T and ……&mut T, not just T = Result/Option.'
Configuration menu - View commit details
-
Copy full SHA for ea549fd - Browse repository at this point
Copy the full SHA ea549fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e46759 - Browse repository at this point
Copy the full SHA 0e46759View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66573b7 - Browse repository at this point
Copy the full SHA 66573b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b818dd - Browse repository at this point
Copy the full SHA 6b818ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 376a8c0 - Browse repository at this point
Copy the full SHA 376a8c0View commit details
Commits on May 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for a59d071 - Browse repository at this point
Copy the full SHA a59d071View commit details
Commits on May 22, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 3a21fb5 - Browse repository at this point
Copy the full SHA 3a21fb5View commit details -
For OutsideLoop we should not suggest add 'block label in if block, o…
…r we wiil get another err: block label not supported here. fixes rust-lang#123261
Configuration menu - View commit details
-
Copy full SHA for 8fde7e3 - Browse repository at this point
Copy the full SHA 8fde7e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5da41f5 - Browse repository at this point
Copy the full SHA 5da41f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for c8844df - Browse repository at this point
Copy the full SHA c8844dfView commit details -
- Name the colon span as `colon_span` to distinguish it from the other `span` local variable. - Just use basic pattern matching, which is easier to read than `map_or`.
Configuration menu - View commit details
-
Copy full SHA for 3fc8f89 - Browse repository at this point
Copy the full SHA 3fc8f89View commit details -
Configuration menu - View commit details
-
Copy full SHA for b6de782 - Browse repository at this point
Copy the full SHA b6de782View commit details -
Convert some
token_joint_hidden
calls totoken_joint
.This has no noticeable effect, but it makes these cases follow the guidelines in the comments on `Spacing`, which say that `Joint` should be used "for each token that (a) should be pretty-printed without a space after it, and (b) is followed by a punctuation token". These two tokens are both followed by a comma, which is a punctuation token.
Configuration menu - View commit details
-
Copy full SHA for c679a55 - Browse repository at this point
Copy the full SHA c679a55View commit details -
Use
JointHidden
in a couple of suitable places.This has no notable effect, but it's appropriate because the relevant tokens are followed by delimiters.
Configuration menu - View commit details
-
Copy full SHA for a1b6d46 - Browse repository at this point
Copy the full SHA a1b6d46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d513cb - Browse repository at this point
Copy the full SHA 4d513cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 07b7cd6 - Browse repository at this point
Copy the full SHA 07b7cd6View commit details
Commits on May 23, 2024
-
Handle
ReVar
innote_and_explain_region
.PR rust-lang#124918 made this path abort. The added test, from fuzzing, identified that it is reachable.
Configuration menu - View commit details
-
Copy full SHA for 5f4424b - Browse repository at this point
Copy the full SHA 5f4424bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ddb81ce - Browse repository at this point
Copy the full SHA ddb81ceView commit details -
Rollup merge of rust-lang#122665 - ehuss:pub-priv-tests, r=davidtwco
Add some tests for public-private dependencies. This adds some tests to show more scenarios for the `exported_private_dependencies` lint. Several of these illustrate that the lint is not working as expected, and I have annotated those places with `FIXME`. Note also that this includes some diamond dependency structures which compiletest doesn't exactly support. However, I don't think it should be a problem, it just results in the common dependency being built twice.
Configuration menu - View commit details
-
Copy full SHA for 5ee8267 - Browse repository at this point
Copy the full SHA 5ee8267View commit details -
Rollup merge of rust-lang#123623 - surechen:fix_123261, r=estebank
Fix OutsideLoop's error suggestion: adding label `'block` for `if` block. For OutsideLoop we should not suggest add `'block` label in `if` block, or we wiil get another err: block label not supported here. fixes rust-lang#123261
Configuration menu - View commit details
-
Copy full SHA for 96134e1 - Browse repository at this point
Copy the full SHA 96134e1View commit details -
Rollup merge of rust-lang#125054 - nnethercote:fix-124973, r=compiler…
…-errors Handle `ReVar` in `note_and_explain_region` PR rust-lang#124918 made this path abort. The added test, from fuzzing, identified that it is reachable. r? `@lcnr`
Configuration menu - View commit details
-
Copy full SHA for 72fd85c - Browse repository at this point
Copy the full SHA 72fd85cView commit details -
Rollup merge of rust-lang#125156 - zachs18:for_loops_over_fallibles_b…
…ehind_refs, r=Nilstrieb Expand `for_loops_over_fallibles` lint to lint on fallibles behind references. Extends the scope of the (warn-by-default) lint `for_loops_over_fallibles` from just `for _ in x` where `x: Option<_>/Result<_, _>` to also cover `x: &(mut) Option<_>/Result<_>` ```rs fn main() { // Current lints for _ in Some(42) {} for _ in Ok::<_, i32>(42) {} // New lints for _ in &Some(42) {} for _ in &mut Some(42) {} for _ in &Ok::<_, i32>(42) {} for _ in &mut Ok::<_, i32>(42) {} // Should not lint for _ in Some(42).into_iter() {} for _ in Some(42).iter() {} for _ in Some(42).iter_mut() {} for _ in Ok::<_, i32>(42).into_iter() {} for _ in Ok::<_, i32>(42).iter() {} for _ in Ok::<_, i32>(42).iter_mut() {} } ``` <details><summary><code>cargo build</code> diff</summary> ```diff diff --git a/old.out b/new.out index 84215aa..ca195a7 100644 --- a/old.out +++ b/new.out `@@` -1,33 +1,93 `@@` warning: for loop over an `Option`. This is more readably written as an `if let` statement --> src/main.rs:3:14 | 3 | for _ in Some(42) {} | ^^^^^^^^ | = note: `#[warn(for_loops_over_fallibles)]` on by default help: to check pattern in a loop use `while let` | 3 | while let Some(_) = Some(42) {} | ~~~~~~~~~~~~~~~ ~~~ help: consider using `if let` to clear intent | 3 | if let Some(_) = Some(42) {} | ~~~~~~~~~~~~ ~~~ warning: for loop over a `Result`. This is more readably written as an `if let` statement --> src/main.rs:4:14 | 4 | for _ in Ok::<_, i32>(42) {} | ^^^^^^^^^^^^^^^^ | help: to check pattern in a loop use `while let` | 4 | while let Ok(_) = Ok::<_, i32>(42) {} | ~~~~~~~~~~~~~ ~~~ help: consider using `if let` to clear intent | 4 | if let Ok(_) = Ok::<_, i32>(42) {} | ~~~~~~~~~~ ~~~ -warning: `for-loops-over-fallibles` (bin "for-loops-over-fallibles") generated 2 warnings - Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.04s +warning: for loop over a `&Option`. This is more readably written as an `if let` statement + --> src/main.rs:7:14 + | +7 | for _ in &Some(42) {} + | ^^^^^^^^^ + | +help: to check pattern in a loop use `while let` + | +7 | while let Some(_) = &Some(42) {} + | ~~~~~~~~~~~~~~~ ~~~ +help: consider using `if let` to clear intent + | +7 | if let Some(_) = &Some(42) {} + | ~~~~~~~~~~~~ ~~~ + +warning: for loop over a `&mut Option`. This is more readably written as an `if let` statement + --> src/main.rs:8:14 + | +8 | for _ in &mut Some(42) {} + | ^^^^^^^^^^^^^ + | +help: to check pattern in a loop use `while let` + | +8 | while let Some(_) = &mut Some(42) {} + | ~~~~~~~~~~~~~~~ ~~~ +help: consider using `if let` to clear intent + | +8 | if let Some(_) = &mut Some(42) {} + | ~~~~~~~~~~~~ ~~~ + +warning: for loop over a `&Result`. This is more readably written as an `if let` statement + --> src/main.rs:9:14 + | +9 | for _ in &Ok::<_, i32>(42) {} + | ^^^^^^^^^^^^^^^^^ + | +help: to check pattern in a loop use `while let` + | +9 | while let Ok(_) = &Ok::<_, i32>(42) {} + | ~~~~~~~~~~~~~ ~~~ +help: consider using `if let` to clear intent + | +9 | if let Ok(_) = &Ok::<_, i32>(42) {} + | ~~~~~~~~~~ ~~~ + +warning: for loop over a `&mut Result`. This is more readably written as an `if let` statement + --> src/main.rs:10:14 + | +10 | for _ in &mut Ok::<_, i32>(42) {} + | ^^^^^^^^^^^^^^^^^^^^^ + | +help: to check pattern in a loop use `while let` + | +10 | while let Ok(_) = &mut Ok::<_, i32>(42) {} + | ~~~~~~~~~~~~~ ~~~ +help: consider using `if let` to clear intent + | +10 | if let Ok(_) = &mut Ok::<_, i32>(42) {} + | ~~~~~~~~~~ ~~~ + +warning: `for-loops-over-fallibles` (bin "for-loops-over-fallibles") generated 6 warnings + Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s ``` </details> ----- Question: * ~~Currently, the article `an` is used for `&Option`, and `&mut Option` in the lint diagnostic, since that's what `Option` uses. Is this okay or should it be changed? (likewise, `a` is used for `&Result` and `&mut Result`)~~ The article `a` is used for `&Option`, `&mut Option`, `&Result`, `&mut Result` and (as before) `Result`. Only `Option` uses `an` (as before). `@rustbot` label +A-lint
Configuration menu - View commit details
-
Copy full SHA for 4af1c31 - Browse repository at this point
Copy the full SHA 4af1c31View commit details -
Rollup merge of rust-lang#125222 - Oneirical:fifth, r=jieyouxu
Migrate `run-make/issue-46239` to `rmake` Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
Configuration menu - View commit details
-
Copy full SHA for f131ee6 - Browse repository at this point
Copy the full SHA f131ee6View commit details -
Rollup merge of rust-lang#125316 - nnethercote:tweak-Spacing, r=petro…
…chenkov Tweak `Spacing` use Some clean-up precursors to rust-lang#125174. r? ``@petrochenkov``
Configuration menu - View commit details
-
Copy full SHA for 3c79f0c - Browse repository at this point
Copy the full SHA 3c79f0cView commit details -
Rollup merge of rust-lang#125392 - workingjubilee:unwind-a-problem-in…
…-context, r=Amanieu Wrap Context.ext in AssertUnwindSafe Fixes rust-lang#125193 Alternative to rust-lang#125377 Relevant to rust-lang#123392 I believe this approach is justifiable due to the fact that this function is unstable API and we have been considering trying to dispose of the notion of "unwind safety". Making a more long-term decision should be considered carefully as part of stabilizing `fn ext`, if ever. r? `@Amanieu`
Configuration menu - View commit details
-
Copy full SHA for 5126d4b - Browse repository at this point
Copy the full SHA 5126d4bView commit details -
Rollup merge of rust-lang#125417 - lqd:lld-retry, r=petrochenkov
self-contained linker: retry linking without `-fuse-ld=lld` on CCs that don't support it For the self-contained linker, this PR applies [the strategy](rust-lang#125330 (comment)) of retrying the linking step when the driver doesn't support `-fuse-ld=lld`, but with the option removed. This is the same strategy we already use of retrying when e.g. `-no-pie` is not supported. Fixes rust-lang#125330 r? `@petrochenkov` I have no idea how we could add a test here, much like we don't have one for `-no-pie` or `-static-pie` -- let me know if you have ideas -- but I tested on a CentOS7 image: ```console [root@d25b38376ede tmp]# ../build/host/stage1/bin/rustc helloworld.rs WARN rustc_codegen_ssa::back::link The linker driver does not support `-fuse-ld=lld`. Retrying without it. [root@d25b38376ede tmp]# readelf -p .comment helloworld String dump of section '.comment': [ 0] GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-44) [ 2d] rustc version 1.80.0-dev ``` I wasn't able to test with `cross` as the issue describes: I wasn't able to reproduce that behavior locally.
Configuration menu - View commit details
-
Copy full SHA for 748647f - Browse repository at this point
Copy the full SHA 748647fView commit details