|
75 | 75 | /// D((r_1, p_(i,2), .., p_(i,n))) |
76 | 76 | /// D((r_2, p_(i,2), .., p_(i,n))) |
77 | 77 | /// |
78 | | -/// Note that the OR-patterns are not always used directly in Rust, but are used to derive |
79 | | -/// the exhaustive integer matching rules, so they're written here for posterity. |
80 | | -/// |
81 | 78 | /// The algorithm for computing `U` |
82 | 79 | /// ------------------------------- |
83 | 80 | /// The algorithm is inductive (on the number of columns: i.e., components of tuple patterns). |
@@ -1359,6 +1356,9 @@ fn pat_constructors<'tcx>(cx: &mut MatchCheckCtxt<'_, 'tcx>, |
1359 | 1356 | Some(vec![Slice(pat_len)]) |
1360 | 1357 | } |
1361 | 1358 | } |
| 1359 | + PatternKind::Or { .. } => { |
| 1360 | + bug!("support for or-patterns has not been fully implemented yet."); |
| 1361 | + } |
1362 | 1362 | } |
1363 | 1363 | } |
1364 | 1364 |
|
@@ -1884,6 +1884,10 @@ fn specialize<'p, 'a: 'p, 'tcx>( |
1884 | 1884 | "unexpected ctor {:?} for slice pat", constructor) |
1885 | 1885 | } |
1886 | 1886 | } |
| 1887 | + |
| 1888 | + PatternKind::Or { .. } => { |
| 1889 | + bug!("support for or-patterns has not been fully implemented yet."); |
| 1890 | + } |
1887 | 1891 | }; |
1888 | 1892 | debug!("specialize({:#?}, {:#?}) = {:#?}", r[0], wild_patterns, head); |
1889 | 1893 |
|
|
0 commit comments