rust-lang/rust-clippy

Restrict let_and_return if the let binding is large

Open

#420 geöffnet am 28. Okt. 2015

Auf GitHub ansehen
 (6 Kommentare) (5 Reaktionen) (0 zugewiesene Personen)Rust (1.391 Forks)batch import
S-needs-discussiongood first issue

Repository-Metriken

Stars
 (10.406 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 19T 22h) (113 gemergte PRs in 30 T)

Beschreibung

Currently, the let_and_return lint is always triggered. I have quite a lot of code which looks like:

let something = match something_else {
    Variant1 => { /* something */},
    ...
    Variant_some_very_large_number => { /* whatever */ }
};

something

Here, I believe it is a lot clearer to explicitly have the let binding, since you may have to scroll quite far to see that there's no semi-colon at the end of the match block for it to be obvious that it's the return expression. I don't know what a suitable size threshold would be, or even if it's possible to reasonably make restrictions based on that.

Of course, I'm open to other ways of writing code blocks like this which would also solve the issue!

Contributor Guide