11use std:: convert:: Infallible ;
22
3- use common:: diagnostics:: CompleteDiagnostic ;
43use cranelift_entity:: { EntityRef , SecondaryMap } ;
54use dataflow:: { BackwardCfgAnalysis , ForwardCfgAnalysis , JoinSemiLattice , SparseAnalysis } ;
65use rustc_hash:: { FxHashMap , FxHashSet } ;
76
87use crate :: analysis:: {
9- diagnostics :: SpannedHirAnalysisDb ,
8+ HirAnalysisDb ,
109 semantic:: {
1110 SBlockId , SLocalId , SemanticInstance ,
1211 borrowck:: ir:: { NEffectArgValue , NExpr , NSStmtKind } ,
@@ -17,16 +16,16 @@ use crate::analysis::{
1716
1817use super :: {
1918 canon:: { BorrowCanonCx , CanonPlace , CfgAdjacency , Loan , LoanId , MovedPlaces , State } ,
20- check:: { Borrowck , semantic_borrow_summary } ,
21- ir:: { BorrowInputRef , NormalizedSemanticBody } ,
19+ check:: { Borrowck , semantic_borrow_summary_voucher } ,
20+ ir:: { BorrowInputRef , NormalizedSemanticBody , SemanticBorrowDiagnostic } ,
2221} ;
2322
2423pub ( super ) struct BorrowLoanTargetState < ' a , ' db > {
2524 pub ( super ) loans : & ' a mut [ Loan < ' db > ] ,
2625}
2726
2827pub ( super ) struct BorrowLoanTargetAnalysis < ' a , ' db > {
29- db : & ' db dyn SpannedHirAnalysisDb ,
28+ db : & ' db dyn HirAnalysisDb ,
3029 instance : SemanticInstance < ' db > ,
3130 body : & ' a NormalizedSemanticBody < ' db > ,
3231 entry_state : & ' a SecondaryMap < SBlockId , State > ,
@@ -35,7 +34,7 @@ pub(super) struct BorrowLoanTargetAnalysis<'a, 'db> {
3534
3635impl < ' a , ' db > BorrowLoanTargetAnalysis < ' a , ' db > {
3736 pub ( super ) fn new (
38- db : & ' db dyn SpannedHirAnalysisDb ,
37+ db : & ' db dyn HirAnalysisDb ,
3938 instance : SemanticInstance < ' db > ,
4039 body : & ' a NormalizedSemanticBody < ' db > ,
4140 entry_state : & ' a SecondaryMap < SBlockId , State > ,
@@ -80,7 +79,7 @@ impl<'a, 'db> BorrowLoanTargetAnalysis<'a, 'db> {
8079 loans : & mut [ Loan < ' db > ] ,
8180 state : & State ,
8281 stmt : & super :: ir:: NSStmt < ' db > ,
83- ) -> Result < bool , CompleteDiagnostic > {
82+ ) -> Result < bool , SemanticBorrowDiagnostic < ' db > > {
8483 let NSStmtKind :: Assign { dst, expr } = & stmt. kind else {
8584 return Ok ( false ) ;
8685 } ;
@@ -103,7 +102,7 @@ impl<'a, 'db> BorrowLoanTargetAnalysis<'a, 'db> {
103102 args,
104103 effect_args,
105104 } => {
106- let summary = semantic_borrow_summary (
105+ let summary = semantic_borrow_summary_voucher (
107106 self . db ,
108107 get_or_build_semantic_instance ( self . db , callee. key ) ,
109108 ) ?;
@@ -159,7 +158,7 @@ impl<'a, 'db> BorrowLoanTargetAnalysis<'a, 'db> {
159158impl < ' a , ' db > SparseAnalysis for BorrowLoanTargetAnalysis < ' a , ' db > {
160159 type Node = SBlockId ;
161160 type State = BorrowLoanTargetState < ' a , ' db > ;
162- type Error = CompleteDiagnostic ;
161+ type Error = SemanticBorrowDiagnostic < ' db > ;
163162
164163 fn node_count ( & self ) -> usize {
165164 self . body . blocks . len ( )
@@ -279,7 +278,7 @@ impl<'a, 'db> BorrowMovedStateAnalysis<'a, 'db> {
279278impl < ' db > ForwardCfgAnalysis for BorrowMovedStateAnalysis < ' _ , ' db > {
280279 type Block = SBlockId ;
281280 type State = MovedState < ' db > ;
282- type Error = CompleteDiagnostic ;
281+ type Error = SemanticBorrowDiagnostic < ' db > ;
283282
284283 fn block_count ( & self ) -> usize {
285284 self . borrowck . body . blocks . len ( )
0 commit comments