We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e092a17 commit 909ec37Copy full SHA for 909ec37
src/librustc_mir/hair/pattern/_match.rs
@@ -672,7 +672,15 @@ impl<'tcx> Constructor<'tcx> {
672
vec![self.clone()]
673
}
674
675
- FixedLenSlice(_) | VarLenSlice(_) => {
+ FixedLenSlice(self_len) => {
676
+ let overlaps = |c: &Constructor<'_>| match c {
677
+ FixedLenSlice(other_len) => other_len == self_len,
678
+ VarLenSlice(other_len) => other_len <= self_len,
679
+ _ => false,
680
+ };
681
+ if other_ctors.iter().any(overlaps) { vec![] } else { vec![self.clone()] }
682
+ }
683
+ VarLenSlice(_) => {
684
let mut remaining_ctors = if let VarLenSlice(len) = self {
685
(*len..pcx.max_slice_length + 1).map(FixedLenSlice).collect()
686
} else {
0 commit comments