about summary refs log tree commit diff
path: root/compiler/rustc_pattern_analysis/src/errors.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-12-19 17:15:04 +0000
committerbors <bors@rust-lang.org>2023-12-19 17:15:04 +0000
commit3a539c08891a422d34beb32d2556a08ea0357b7d (patch)
treeb1d455b8295df56e424ec801b3a99d888f81be56 /compiler/rustc_pattern_analysis/src/errors.rs
parentc9c9f527e373efbb755e88661aaf012ad6a2d17c (diff)
parent3016c296287da816fba5c4a9c7e2c8cdebbe0126 (diff)
downloadrust-3a539c08891a422d34beb32d2556a08ea0357b7d.tar.gz
rust-3a539c08891a422d34beb32d2556a08ea0357b7d.zip
Auto merge of #118842 - Nadrieril:librarify-further, r=compiler-errors
Make exhaustiveness usable outside of rustc

With this PR, `rustc_pattern_analysis` compiles on stable (with the `stable` feature)! `rust-analyzer` will be able to use it to provide match-related diagnostics and refactors.

Two questions:
- Should I name the feature `nightly` instead of `rustc` for consistency with other crates? `rustc` makes more sense imo.
- `typed-arena` is an optional dependency but tidy made me add it to the allow-list anyway. Can I avoid that somehow?

r? `@compiler-errors`
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/errors.rs')
-rw-r--r--compiler/rustc_pattern_analysis/src/errors.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_pattern_analysis/src/errors.rs b/compiler/rustc_pattern_analysis/src/errors.rs
index 0efa8a0ec08..88770b0c43b 100644
--- a/compiler/rustc_pattern_analysis/src/errors.rs
+++ b/compiler/rustc_pattern_analysis/src/errors.rs
@@ -1,11 +1,11 @@
-use crate::{cx::MatchCheckCtxt, pat::WitnessPat};
-
 use rustc_errors::{AddToDiagnostic, Diagnostic, SubdiagnosticMessage};
 use rustc_macros::{LintDiagnostic, Subdiagnostic};
 use rustc_middle::thir::Pat;
 use rustc_middle::ty::Ty;
 use rustc_span::Span;
 
+use crate::rustc::{RustcMatchCheckCtxt, WitnessPat};
+
 #[derive(Subdiagnostic)]
 #[label(pattern_analysis_uncovered)]
 pub struct Uncovered<'tcx> {
@@ -21,8 +21,8 @@ pub struct Uncovered<'tcx> {
 impl<'tcx> Uncovered<'tcx> {
     pub fn new<'p>(
         span: Span,
-        cx: &MatchCheckCtxt<'p, 'tcx>,
-        witnesses: Vec<WitnessPat<'tcx>>,
+        cx: &RustcMatchCheckCtxt<'p, 'tcx>,
+        witnesses: Vec<WitnessPat<'p, 'tcx>>,
     ) -> Self {
         let witness_1 = cx.hoist_witness_pat(witnesses.get(0).unwrap());
         Self {