1
Fork 0

Better error for non const PartialEq call generated by match

This commit is contained in:
Deadbeef 2023-06-18 05:24:38 +00:00
parent ed7281e784
commit 89c24af133
35 changed files with 211 additions and 100 deletions

View file

@ -128,7 +128,9 @@ impl<'tcx, 'body> ParseCtxt<'tcx, 'body> {
destination,
target: Some(target),
unwind: UnwindAction::Continue,
from_hir_call: *from_hir_call,
call_source: if *from_hir_call { CallSource::Normal } else {
CallSource::OverloadedOperator
},
fn_span: *fn_span,
})
},

View file

@ -173,7 +173,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
destination: storage,
target: Some(success),
unwind: UnwindAction::Continue,
from_hir_call: false,
call_source: CallSource::Misc,
fn_span: expr_span,
},
);

View file

@ -277,7 +277,11 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
.ty
.is_inhabited_from(this.tcx, this.parent_module, this.param_env)
.then_some(success),
from_hir_call,
call_source: if from_hir_call {
CallSource::Normal
} else {
CallSource::OverloadedOperator
},
fn_span,
},
);

View file

@ -264,7 +264,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
destination: ref_str,
target: Some(eq_block),
unwind: UnwindAction::Continue,
from_hir_call: false,
call_source: CallSource::Misc,
fn_span: source_info.span
}
);
@ -496,7 +496,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
destination: eq_result,
target: Some(eq_block),
unwind: UnwindAction::Continue,
from_hir_call: false,
call_source: CallSource::MatchCmp,
fn_span: source_info.span,
},
);