Refactor hir::diagnostics::MissingMatchArms fields, better naming

This commit is contained in:
iDawer 2023-03-10 18:21:54 +05:00
parent 8f189f62c6
commit 5e8c586f3b
3 changed files with 7 additions and 8 deletions

View file

@ -199,8 +199,7 @@ pub struct MismatchedArgCount {
#[derive(Debug)] #[derive(Debug)]
pub struct MissingMatchArms { pub struct MissingMatchArms {
pub file: HirFileId, pub scrutinee_expr: InFile<AstPtr<ast::Expr>>,
pub match_expr: AstPtr<ast::Expr>,
pub uncovered_patterns: String, pub uncovered_patterns: String,
} }

View file

@ -1628,11 +1628,13 @@ impl DefWithBody {
if let ast::Expr::MatchExpr(match_expr) = if let ast::Expr::MatchExpr(match_expr) =
&source_ptr.value.to_node(&root) &source_ptr.value.to_node(&root)
{ {
if let Some(match_expr) = match_expr.expr() { if let Some(scrut_expr) = match_expr.expr() {
acc.push( acc.push(
MissingMatchArms { MissingMatchArms {
file: source_ptr.file_id, scrutinee_expr: InFile::new(
match_expr: AstPtr::new(&match_expr), source_ptr.file_id,
AstPtr::new(&scrut_expr),
),
uncovered_patterns, uncovered_patterns,
} }
.into(), .into(),

View file

@ -1,5 +1,3 @@
use hir::InFile;
use crate::{Diagnostic, DiagnosticsContext}; use crate::{Diagnostic, DiagnosticsContext};
// Diagnostic: missing-match-arm // Diagnostic: missing-match-arm
@ -12,7 +10,7 @@ pub(crate) fn missing_match_arms(
Diagnostic::new( Diagnostic::new(
"missing-match-arm", "missing-match-arm",
format!("missing match arm: {}", d.uncovered_patterns), format!("missing match arm: {}", d.uncovered_patterns),
ctx.sema.diagnostics_display_range(InFile::new(d.file, d.match_expr.clone().into())).range, ctx.sema.diagnostics_display_range(d.scrutinee_expr.clone().map(Into::into)).range,
) )
} }