]> git.lizzy.rs Git - rust.git/blob - tests/ui/lint/unused/issue-88519-unused-paren.rs
Rollup merge of #103236 - tspiteri:redoc-int-adc-sbb, r=m-ou-se
[rust.git] / tests / ui / lint / unused / issue-88519-unused-paren.rs
1 // check-pass
2 // Make sure unused parens lint doesn't emit a false positive.
3 // See https://github.com/rust-lang/rust/issues/88519
4 #![deny(unused_parens)]
5 #![feature(type_ascription)]
6
7 // binary ops are tested in issue-71290-unused-paren-binop.rs
8
9 mod call {
10     fn noop() -> u8 { 0 }
11     fn outside() -> u8 {
12         ({ noop })()
13     }
14     fn inside() -> u8 {
15         ({ noop }())
16     }
17     fn outside_match() -> u8 {
18         (match noop { x => x })()
19     }
20     fn inside_match() -> u8 {
21         (match noop { x => x }())
22     }
23     fn outside_if() -> u8 {
24         (if false { noop } else { noop })()
25     }
26     fn inside_if() -> u8 {
27         (if false { noop } else { noop }())
28     }
29 }
30
31 mod casts {
32     fn outside() -> u8 {
33         ({ 0 }) as u8
34     }
35     fn inside() -> u8 {
36         ({ 0 } as u8)
37     }
38     fn outside_match() -> u8 {
39         (match 0 { x => x }) as u8
40     }
41     fn inside_match() -> u8 {
42         (match 0 { x => x } as u8)
43     }
44     fn outside_if() -> u8 {
45         (if false { 0 } else { 0 }) as u8
46     }
47     fn inside_if() -> u8 {
48         (if false { 0 } else { 0 } as u8)
49     }
50 }
51
52 mod typeascription {
53     fn outside() -> u8 {
54         type_ascribe!(({ 0 }), u8)
55     }
56     fn outside_match() -> u8 {
57         type_ascribe!((match 0 { x => x }), u8)
58     }
59     fn outside_if() -> u8 {
60         type_ascribe!((if false { 0 } else { 0 }), u8)
61     }
62 }
63
64 mod index {
65     fn outside(x: &[u8]) -> u8 {
66         ({ x })[0]
67     }
68     fn inside(x: &[u8]) -> u8 {
69         ({ x }[0])
70     }
71     fn outside_match(x: &[u8]) -> u8 {
72         (match x { x => x })[0]
73     }
74     fn inside_match(x: &[u8]) -> u8 {
75         (match x { x => x }[0])
76     }
77     fn outside_if(x: &[u8]) -> u8 {
78         (if false { x } else { x })[0]
79     }
80     fn inside_if(x: &[u8]) -> u8 {
81         (if false { x } else { x }[0])
82     }
83 }
84
85 fn main() {}