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)]
7 // binary ops are tested in issue-71290-unused-paren-binop.rs
17 fn outside_match() -> u8 {
18 (match noop { x => x })()
20 fn inside_match() -> u8 {
21 (match noop { x => x }())
23 fn outside_if() -> u8 {
24 (if false { noop } else { noop })()
26 fn inside_if() -> u8 {
27 (if false { noop } else { noop }())
38 fn outside_match() -> u8 {
39 (match 0 { x => x }) as u8
41 fn inside_match() -> u8 {
42 (match 0 { x => x } as u8)
44 fn outside_if() -> u8 {
45 (if false { 0 } else { 0 }) as u8
47 fn inside_if() -> u8 {
48 (if false { 0 } else { 0 } as u8)
54 type_ascribe!(({ 0 }), u8)
56 fn outside_match() -> u8 {
57 type_ascribe!((match 0 { x => x }), u8)
59 fn outside_if() -> u8 {
60 type_ascribe!((if false { 0 } else { 0 }), u8)
65 fn outside(x: &[u8]) -> u8 {
68 fn inside(x: &[u8]) -> u8 {
71 fn outside_match(x: &[u8]) -> u8 {
72 (match x { x => x })[0]
74 fn inside_match(x: &[u8]) -> u8 {
75 (match x { x => x }[0])
77 fn outside_if(x: &[u8]) -> u8 {
78 (if false { x } else { x })[0]
80 fn inside_if(x: &[u8]) -> u8 {
81 (if false { x } else { x }[0])