Skip to content

Conversation

@surechen
Copy link
Contributor

For [E0308]: mismatched types, when expr is in an arm's body, and it is the end expr without a semicolon of the block, not add semicolon ';' at the end of it.

fixes #126222

@rustbot
Copy link
Collaborator

rustbot commented Jun 14, 2024

r? @estebank

rustbot has assigned @estebank.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 14, 2024
@rust-log-analyzer

This comment has been minimized.

Comment on lines +20 to +23
help: you might have meant to return this value
|
LL | return dbg!(x)
| ++++++
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm somewhat surprised: shouldn't these suggestions include a trailing ;?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm assuming this is because dbg expands to a block expression, right?

Copy link
Contributor Author

@surechen surechen Jun 23, 2024

Choose a reason for hiding this comment

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

I'm somewhat surprised: shouldn't these suggestions include a trailing ;?

Thank you.
Here I think because in the return expression after match arm the "; " is unnecessary, and the diagnostic suggestion may make error expr like "return something; ,", so in this case, I recommend using the return something without semicolon ;.
For me, it's not necessary to add ';' here whether it's expanded into a block expr or not. I'm not sure if I'm thinking about this fully. Please help me give an accurate judgement.

Copy link
Contributor

Choose a reason for hiding this comment

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

It is idiomatic for statements like return to be ended with a ;, regardless of whether it is valid code or not. That being said, it doesn't matter as much, as long as the suggestions produce valid code.

@estebank
Copy link
Contributor

@bors r+

@bors
Copy link
Collaborator

bors commented Jun 23, 2024

📌 Commit e8b5ba1 has been approved by estebank

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 23, 2024
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Jun 24, 2024
For [E0308]: mismatched types, when expr is in an arm's body, not add semicolon ';' at the end of it. For [E0308]: mismatched types, when expr is in an arm's body, and it is the end expr without a semicolon of the block, not add semicolon ';' at the end of it. fixes rust-lang#126222 <!-- If this PR is related to an unstable feature or an otherwise tracked effort, please link to the relevant tracking issue here. If you don't know of a related tracking issue or there are none, feel free to ignore this. This PR will get automatically assigned to a reviewer. In case you would like a specific user to review your work, you can assign it to them by using r​? <reviewer name> -->
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 24, 2024
…kingjubilee Rollup of 9 pull requests Successful merges: - rust-lang#126177 (Add hard error and migration lint for unsafe attrs) - rust-lang#126298 (Promote loongarch64-unknown-linux-musl to Tier 2 with host tools) - rust-lang#126455 (For [E0308]: mismatched types, when expr is in an arm's body, not add semicolon ';' at the end of it.) - rust-lang#126754 (Implement `use<>` formatting in rustfmt) - rust-lang#126807 (std::unix::fs: copy simplification for apple.) - rust-lang#126845 (Weekly `cargo update`) - rust-lang#126849 (Fix 32-bit Arm reg classes by hierarchically sorting them) - rust-lang#126854 (std::unix::os::home_dir: fallback's optimisation.) - rust-lang#126861 (Migrate `run-make/invalid-library` to `rmake.rs`) r? `@ghost` `@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 24, 2024
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#126177 (Add hard error and migration lint for unsafe attrs) - rust-lang#126298 (Promote loongarch64-unknown-linux-musl to Tier 2 with host tools) - rust-lang#126455 (For [E0308]: mismatched types, when expr is in an arm's body, not add semicolon ';' at the end of it.) - rust-lang#126754 (Implement `use<>` formatting in rustfmt) - rust-lang#126807 (std::unix::fs: copy simplification for apple.) - rust-lang#126845 (Weekly `cargo update`) - rust-lang#126849 (Fix 32-bit Arm reg classes by hierarchically sorting them) - rust-lang#126854 (std::unix::os::home_dir: fallback's optimisation.) - rust-lang#126888 (Remove stray println from rustfmt's `rewrite_static`) r? `@ghost` `@rustbot` modify labels: rollup
@bors bors merged commit ad0531a into rust-lang:master Jun 24, 2024
@rustbot rustbot added this to the 1.81.0 milestone Jun 24, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 24, 2024
Rollup merge of rust-lang#126455 - surechen:fix_126222, r=estebank For [E0308]: mismatched types, when expr is in an arm's body, not add semicolon ';' at the end of it. For [E0308]: mismatched types, when expr is in an arm's body, and it is the end expr without a semicolon of the block, not add semicolon ';' at the end of it. fixes rust-lang#126222 <!-- If this PR is related to an unstable feature or an otherwise tracked effort, please link to the relevant tracking issue here. If you don't know of a related tracking issue or there are none, feel free to ignore this. This PR will get automatically assigned to a reviewer. In case you would like a specific user to review your work, you can assign it to them by using r​? <reviewer name> -->
jaisnan pushed a commit to jaisnan/rust-dev that referenced this pull request Jul 29, 2024
Update Rust toolchain from nightly-2024-06-24 to nightly-2024-06-25 without any other source changes. This is an automatically generated pull request. If any of the CI checks fail, manual intervention is required. In such a case, review the changes at https://github.com/rust-lang/rust from rust-lang@bcf94de up to rust-lang@6b0f4b5. The log for this commit range is: rust-lang@6b0f4b5ec3 Auto merge of rust-lang#126914 - compiler-errors:rollup-zx0hchm, r=compiler-errors rust-lang@16bd6e25e1 Rollup merge of rust-lang#126911 - oli-obk:do_not_count_errors, r=compiler-errors rust-lang@59c258f51f Rollup merge of rust-lang#126909 - onur-ozkan:add-kobzol, r=matthiaskrgr rust-lang@85eb835a14 Rollup merge of rust-lang#126904 - GrigorenkoPV:nonzero-fixme, r=joboet rust-lang@a7721a0373 Rollup merge of rust-lang#126899 - GrigorenkoPV:suggest-const-block, r=davidtwco rust-lang@9ce2a070b3 Rollup merge of rust-lang#126682 - Zalathar:coverage-attr, r=lcnr rust-lang@49bdf460a2 Rollup merge of rust-lang#126673 - oli-obk:dont_rely_on_err_reporting, r=compiler-errors rust-lang@46e43984d1 Rollup merge of rust-lang#126413 - matthiaskrgr:crshmsg, r=oli-obk rust-lang@ed460d2eaa Rollup merge of rust-lang#125575 - dingxiangfei2009:derive-smart-ptr, r=davidtwco rust-lang@c77dc28f87 Rollup merge of rust-lang#125082 - kpreid:const-uninit, r=dtolnay rust-lang@faa28be2f1 Rollup merge of rust-lang#124712 - Enselic:deprecate-inline-threshold, r=pnkfelix rust-lang@00e5f5886a Rollup merge of rust-lang#124460 - long-long-float:show-notice-about-enum-with-debug, r=pnkfelix rust-lang@d8d5732456 Auto merge of rust-lang#126784 - scottmcm:smaller-terminator, r=compiler-errors rust-lang@13fca73f49 Replace `MaybeUninit::uninit_array()` with array repeat expression. rust-lang@5a3e2a4e92 Auto merge of rust-lang#126523 - joboet:the_great_big_tls_refactor, r=Mark-Simulacrum rust-lang@45261ff2ec add @Kobzol to bootstrap team for triagebot rust-lang@84474a25a4 Small fixme in core now that NonZero is generic rust-lang@50a02ed789 std: fix wasm builds rust-lang@8fc6b3de19 Separate the mir body lifetime from the other lifetimes rust-lang@1c4d0ced58 Separate the lifetimes of the `BorrowckInferCtxt` from the other borrowed items rust-lang@d371d17496 Auto merge of rust-lang#126900 - matthiaskrgr:rollup-24ah97b, r=matthiaskrgr rust-lang@8ffb5f936a compiletest: make the crash test error message abit more informative rust-lang@a80ee9159b Rollup merge of rust-lang#126882 - estebank:multiline-order, r=WaffleLapkin rust-lang@8bfde609e2 Rollup merge of rust-lang#126414 - ChrisDenton:target-known, r=Nilstrieb rust-lang@94b9ea417d Rollup merge of rust-lang#126213 - zachs18:atomicbool-u8-i8-from-ptr-alignment, r=Nilstrieb rust-lang@9d24ecc37b Rollup merge of rust-lang#125241 - Veykril:tool-rust-analyzer, r=davidtwco rust-lang@ba5ec1fc5c Suggest inline const blocks for array initialization rust-lang@06c072f158 Auto merge of rust-lang#126788 - GuillaumeGomez:migrate-rustdoc-tests-syntax, r=fmease,oli-obk rust-lang@1852141219 coverage: Bless coverage attribute tests rust-lang@b7c057c9b2 coverage: Always error on `#[coverage(..)]` in unexpected places rust-lang@a000fa8b54 coverage: Tighten validation of `#[coverage(off)]` and `#[coverage(on)]` rust-lang@b5dfeba0e1 coverage: Forbid multiple `#[coverage(..)]` attributes rust-lang@6909feab8e Allow numbers in rustdoc tests commands rust-lang@4e258bb4c3 Fix tidy issue for rustdoc tests commands rust-lang@51fedf65ff Remove commands duplication between `compiletest` and `tests/rustdoc` rust-lang@1b67035579 Update `tests/rustdoc` to new test syntax rust-lang@d3ec92e16e Move `tests/rustdoc` testsuite to `//@` syntax rust-lang@2c243d9570 Auto merge of rust-lang#126891 - matthiaskrgr:rollup-p6dl1gk, r=matthiaskrgr rust-lang@b94d2754b5 Rollup merge of rust-lang#126888 - compiler-errors:oops-debug-printing, r=dtolnay rust-lang@9892b3e9fe Rollup merge of rust-lang#126854 - devnexen:std_unix_os_fallback_upd, r=Mark-Simulacrum rust-lang@3108dfaced Rollup merge of rust-lang#126849 - workingjubilee:correctly-classify-arm-low-dregs, r=Amanieu rust-lang@dcace866f0 Rollup merge of rust-lang#126845 - rust-lang:cargo_update, r=Mark-Simulacrum rust-lang@21850f5bd8 Rollup merge of rust-lang#126807 - devnexen:copy_file_macos_simpl, r=Mark-Simulacrum rust-lang@b24e3df0df Rollup merge of rust-lang#126754 - compiler-errors:use-rustfmt, r=calebcartwright rust-lang@ad0531ae0d Rollup merge of rust-lang#126455 - surechen:fix_126222, r=estebank rust-lang@7babf99ea9 Rollup merge of rust-lang#126298 - heiher:loongarch64-musl-ci, r=Mark-Simulacrum rust-lang@9a591ea1ce Rollup merge of rust-lang#126177 - carbotaniuman:unsafe_attr_errors, r=jieyouxu rust-lang@25446c25fc Remove stray println from rustfmt rust-lang@d49994b060 Auto merge of rust-lang#126023 - amandasystems:you-dropped-this-again, r=nikomatsakis rust-lang@a23917cfd0 Add hard error and migration lint for unsafe attrs rust-lang@284437d434 Special case when a code line only has multiline span starts rust-lang@f1be59fa72 SmartPointer derive-macro rust-lang@a426d6fdf0 Implement use<> formatting in rustfmt rust-lang@16fef40896 Promote loongarch64-unknown-linux-musl to Tier 2 with host tools rust-lang@03d73fa6ba ci: Add support for dist-loongarch64-musl rust-lang@fc50acae90 fix build rust-lang@bd9ce3e074 std::unix::os::home_dir: fallback's optimisation. rust-lang@0d8f734172 compiler: Fix arm32 asm issues by hierarchically sorting reg classes rust-lang@e8b5ba1111 For [E0308]: mismatched types, when expr is in an arm's body, not add semicolon ';' at the end of it. rust-lang@990535723d cargo update rust-lang@b28efb11af Save 2 pointers in `TerminatorKind` (96 → 80 bytes) rust-lang@65530ba100 std::unix::fs: copy simplification for apple. rust-lang@339015920d Add `rust_analyzer` as a predefined tool rust-lang@3f2f8438b4 Ensure we don't accidentally succeed when we want to report an error rust-lang@32f9b8bf76 std: rename module for clarity rust-lang@35f050b8da std: update TLS module documentation rust-lang@b2f29edc81 std: use the `c_int` from `core::ffi` instead of `libc` rust-lang@d70f071392 std: simplify `#[cfg]`s for TLS rust-lang@d630f5da7a Show notice about "never used" for enum rust-lang@f3facf1175 std: refactor the TLS implementation rust-lang@f5f067bf9d Deprecate no-op codegen option `-Cinline-threshold=...` rust-lang@651ff643ae Fix typo in `-Cno-stack-check` deprecation warning rust-lang@3af624272a rustc_codegen_ssa: Remove unused ModuleConfig::inline_threshold rust-lang@34e6ea1446 Tier 2 std support must always be known rust-lang@2d4cb7aa5a Update docs for AtomicU8/I8. rust-lang@7885c7b7b2 Update safety docs for AtomicBool::from_ptr. rust-lang@7b5b7a7010 Remove confusing `use_polonius` flag and do less cloning Co-authored-by: tautschnig <1144736+tautschnig@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

6 participants