]> git.lizzy.rs Git - rust.git/blob - src/docs/infallible_destructuring_match.txt
[Arithmetic] Consider literals
[rust.git] / src / docs / infallible_destructuring_match.txt
1 ### What it does
2 Checks for matches being used to destructure a single-variant enum
3 or tuple struct where a `let` will suffice.
4
5 ### Why is this bad?
6 Just readability – `let` doesn't nest, whereas a `match` does.
7
8 ### Example
9 ```
10 enum Wrapper {
11     Data(i32),
12 }
13
14 let wrapper = Wrapper::Data(42);
15
16 let data = match wrapper {
17     Wrapper::Data(i) => i,
18 };
19 ```
20
21 The correct use would be:
22 ```
23 enum Wrapper {
24     Data(i32),
25 }
26
27 let wrapper = Wrapper::Data(42);
28 let Wrapper::Data(data) = wrapper;
29 ```