YEET!
matthiaskrgr opened this issue · 2 comments
matthiaskrgr commented
Summary
.
Lint Name
needless_return
Reproducer
I tried this code:
#![feature(yeet_expr)]
fn always_yeet() -> Result<i32, String> {
do yeet "hello";
}
fn main() {
assert_eq!(always_yeet(), Err("hello".to_string()));
}
Interestingly, it seems like do yeet
is read as return statement (I have no idea about the desugaring here tbh) and removing it causes a type mismatch:
Checking fff v0.1.0 (/tmp/fff)
warning: failed to automatically apply fixes suggested by rustc to crate `fff`
after fixes were automatically applied the compiler reported errors within these files:
* src/main.rs
This likely indicates a bug in either rustc or cargo itself,
and we would appreciate a bug report! You're likely to see
a number of compiler warnings after this message which cargo
attempted to fix but failed. If you could open an issue at
https://github.com/rust-lang/rust/issues
quoting the full output of this command we'd be very appreciative!
Note that you may be able to make some more progress in the near-term
fixing code with the `--broken-code` flag
The following errors were reported:
error[E0308]: mismatched types
--> src/main.rs:4:5
|
3 | fn always_yeet() -> Result<i32, String> {
| ------------------- expected `std::result::Result<i32, std::string::String>` because of return type
4 | "hello"
| ^^^^^^^ expected enum `std::result::Result`, found `&str`
|
= note: expected enum `std::result::Result<i32, std::string::String>`
found reference `&'static str`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0308`.
Original diagnostics will follow.
warning: unneeded `return` statement
--> src/main.rs:4:5
|
4 | do yeet "hello";
| ^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `#[warn(clippy::needless_return)]` on by default
= help: remove `return`
Version
rustc 1.67.0-nightly (b3bc6bf31 2022-11-24)
binary: rustc
commit-hash: b3bc6bf31265ac10946a0832092dbcedf9b26805
commit-date: 2022-11-24
host: x86_64-unknown-linux-gnu
release: 1.67.0-nightly
LLVM version: 15.0.4
Additional Labels
No response
alex-semenyuk commented
@rustbot claim