@@ -23,9 +23,29 @@ use stdx::always;
2323use syntax:: ast:: RangeOp ;
2424
2525use crate :: {
26- autoderef:: { builtin_deref, deref_by_trait, Autoderef } , consteval, generics:: generics, infer:: {
27- coerce:: { CoerceMany , CoerceNever , CoercionCause } , find_continuable, pat:: contains_explicit_ref_binding, BreakableKind
28- } , lang_items:: lang_items_for_bin_op, lower:: { lower_to_chalk_mutability, path:: { substs_from_args_and_bindings, GenericArgsLowerer , TypeLikeConst } , ParamLoweringMode } , mapping:: { from_chalk, ToChalk } , method_resolution:: { self , VisibleFromModule } , next_solver:: mapping:: ChalkToNextSolver , primitive:: { self , UintTy } , static_lifetime, to_chalk_trait_id, traits:: FnTrait , Adjust , Adjustment , AdtId , AutoBorrow , Binders , CallableDefId , CallableSig , DeclContext , DeclOrigin , IncorrectGenericsLenKind , Interner , LifetimeElisionKind , Rawness , Scalar , Substitution , TraitEnvironment , TraitRef , Ty , TyBuilder , TyExt , TyKind
26+ Adjust , Adjustment , AdtId , AutoBorrow , Binders , CallableDefId , CallableSig , DeclContext ,
27+ DeclOrigin , IncorrectGenericsLenKind , Interner , LifetimeElisionKind , Rawness , Scalar ,
28+ Substitution , TraitEnvironment , TraitRef , Ty , TyBuilder , TyExt , TyKind ,
29+ autoderef:: { Autoderef , builtin_deref, deref_by_trait} ,
30+ consteval,
31+ generics:: generics,
32+ infer:: {
33+ BreakableKind ,
34+ coerce:: { CoerceMany , CoerceNever , CoercionCause } ,
35+ find_continuable,
36+ pat:: contains_explicit_ref_binding,
37+ } ,
38+ lang_items:: lang_items_for_bin_op,
39+ lower:: {
40+ ParamLoweringMode , lower_to_chalk_mutability,
41+ path:: { GenericArgsLowerer , TypeLikeConst , substs_from_args_and_bindings} ,
42+ } ,
43+ mapping:: { ToChalk , from_chalk} ,
44+ method_resolution:: { self , VisibleFromModule } ,
45+ next_solver:: mapping:: ChalkToNextSolver ,
46+ primitive:: { self , UintTy } ,
47+ static_lifetime, to_chalk_trait_id,
48+ traits:: FnTrait ,
2949} ;
3050
3151use super :: {
@@ -807,10 +827,10 @@ impl InferenceContext<'_> {
807827 let index_ty = self . infer_expr ( * index, & Expectation :: none ( ) , ExprIsRead :: Yes ) ;
808828
809829 if let Some ( index_trait) = self . resolve_lang_trait ( LangItem :: Index ) {
810- let canonicalized = ChalkToNextSolver :: from_nextsolver ( self . canonicalize ( base_ty. clone ( ) . to_nextsolver ( self . table . interner ) ) , self . table . interner ) ;
830+ let canonicalized =
831+ self . canonicalize ( base_ty. clone ( ) . to_nextsolver ( self . table . interner ) ) ;
811832 let receiver_adjustments = method_resolution:: resolve_indexing_op (
812- self . db ,
813- self . table . trait_env . clone ( ) ,
833+ & mut self . table ,
814834 canonicalized,
815835 index_trait,
816836 ) ;
@@ -1660,7 +1680,8 @@ impl InferenceContext<'_> {
16601680 None => {
16611681 // no field found, lets attempt to resolve it like a function so that IDE things
16621682 // work out while people are typing
1663- let canonicalized_receiver = self . canonicalize ( receiver_ty. clone ( ) . to_nextsolver ( self . table . interner ) ) ;
1683+ let canonicalized_receiver =
1684+ self . canonicalize ( receiver_ty. clone ( ) . to_nextsolver ( self . table . interner ) ) ;
16641685 let resolved = method_resolution:: lookup_method (
16651686 self . db ,
16661687 & canonicalized_receiver,
@@ -1806,7 +1827,8 @@ impl InferenceContext<'_> {
18061827 expected : & Expectation ,
18071828 ) -> Ty {
18081829 let receiver_ty = self . infer_expr_inner ( receiver, & Expectation :: none ( ) , ExprIsRead :: Yes ) ;
1809- let canonicalized_receiver = self . canonicalize ( receiver_ty. clone ( ) . to_nextsolver ( self . table . interner ) ) ;
1830+ let canonicalized_receiver =
1831+ self . canonicalize ( receiver_ty. clone ( ) . to_nextsolver ( self . table . interner ) ) ;
18101832
18111833 let resolved = method_resolution:: lookup_method (
18121834 self . db ,
0 commit comments