diff --git a/src/patterns.rs b/src/patterns.rs index 628c207d7508..aa163c2d4d88 100644 --- a/src/patterns.rs +++ b/src/patterns.rs @@ -288,7 +288,7 @@ fn rewrite_tuple_pat( } if pat_vec.is_empty() { - return Some(format!("{}()", try_opt!(path_str))); + return Some(format!("{}()", path_str.unwrap_or(String::new()))); } let wildcard_suffix_len = count_wildcard_suffix_len(context, &pat_vec, span, shape); diff --git a/tests/source/pattern.rs b/tests/source/pattern.rs index 7e1787ca409b..b8781bd1d2e1 100644 --- a/tests/source/pattern.rs +++ b/tests/source/pattern.rs @@ -42,3 +42,9 @@ fn mutate_fragment(&mut self, fragment: &mut Fragment) { fn issue_1319() { if let (Event { .. }, .. ) = ev_state {} } + +fn issue_1874() { + if let Some(()) = x { +y + } +} diff --git a/tests/target/pattern.rs b/tests/target/pattern.rs index 39a8408a6301..15fbef048c8b 100644 --- a/tests/target/pattern.rs +++ b/tests/target/pattern.rs @@ -57,3 +57,9 @@ fn mutate_fragment(&mut self, fragment: &mut Fragment) { fn issue_1319() { if let (Event { .. }, ..) = ev_state {} } + +fn issue_1874() { + if let Some(()) = x { + y + } +}