@@ -27,15 +27,12 @@ use super::glb::Glb;
27
27
use super :: lub:: Lub ;
28
28
use super :: sub:: Sub ;
29
29
use super :: type_variable:: TypeVariableValue ;
30
- use super :: unify_key:: replace_if_possible;
31
- use super :: unify_key:: { ConstVarValue , ConstVariableValue } ;
32
- use super :: unify_key:: { ConstVariableOrigin , ConstVariableOriginKind } ;
33
30
use super :: { InferCtxt , MiscVariable , TypeTrace } ;
34
-
35
31
use crate :: traits:: { Obligation , PredicateObligations } ;
36
-
37
32
use rustc_data_structures:: sso:: SsoHashMap ;
38
33
use rustc_hir:: def_id:: DefId ;
34
+ use rustc_middle:: infer:: unify_key:: { ConstVarValue , ConstVariableValue } ;
35
+ use rustc_middle:: infer:: unify_key:: { ConstVariableOrigin , ConstVariableOriginKind } ;
39
36
use rustc_middle:: traits:: ObligationCause ;
40
37
use rustc_middle:: ty:: error:: { ExpectedFound , TypeError } ;
41
38
use rustc_middle:: ty:: relate:: { self , Relate , RelateResult , TypeRelation } ;
@@ -140,8 +137,8 @@ impl<'infcx, 'tcx> InferCtxt<'infcx, 'tcx> {
140
137
return Ok ( a) ;
141
138
}
142
139
143
- let a = replace_if_possible ( & mut self . inner . borrow_mut ( ) . const_unification_table ( ) , a) ;
144
- let b = replace_if_possible ( & mut self . inner . borrow_mut ( ) . const_unification_table ( ) , b) ;
140
+ let a = self . shallow_resolve ( a) ;
141
+ let b = self . shallow_resolve ( b) ;
145
142
146
143
let a_is_expected = relation. a_is_expected ( ) ;
147
144
0 commit comments