@@ -750,16 +750,13 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
750750
751751 /// Resolves an associated value path into a base type and associated constant, or method
752752 /// resolution. The newly resolved definition is written into `type_dependent_defs`.
753+ #[ instrument( level = "trace" , skip( self ) , ret) ]
753754 pub fn resolve_ty_and_res_fully_qualified_call (
754755 & self ,
755756 qpath : & ' tcx QPath < ' tcx > ,
756757 hir_id : HirId ,
757758 span : Span ,
758759 ) -> ( Res , Option < LoweredTy < ' tcx > > , & ' tcx [ hir:: PathSegment < ' tcx > ] ) {
759- debug ! (
760- "resolve_ty_and_res_fully_qualified_call: qpath={:?} hir_id={:?} span={:?}" ,
761- qpath, hir_id, span
762- ) ;
763760 let ( ty, qself, item_segment) = match * qpath {
764761 QPath :: Resolved ( ref opt_qself, path) => {
765762 return (
@@ -1417,10 +1414,10 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
14171414 // This also occurs for an enum variant on a type alias.
14181415 let impl_ty = self . normalize ( span, tcx. type_of ( impl_def_id) . instantiate ( tcx, args) ) ;
14191416 let self_ty = self . normalize ( span, self_ty) ;
1420- match self . at ( & self . misc ( span) , self . param_env ) . eq (
1417+ match self . at ( & self . misc ( span) , self . param_env ) . sub (
14211418 DefineOpaqueTypes :: No ,
1422- impl_ty,
14231419 self_ty,
1420+ impl_ty,
14241421 ) {
14251422 Ok ( ok) => self . register_infer_ok_obligations ( ok) ,
14261423 Err ( _) => {
0 commit comments