|
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