1
- use hir:: hir_def:: { Enum , IdentId , Impl , IngotId , VariantKind } ;
1
+ use hir:: hir_def:: { IdentId , Impl , IngotId } ;
2
2
use rustc_hash:: FxHashMap ;
3
3
4
4
use super :: {
5
- adt_def:: { lower_adt, AdtRefId } ,
6
5
binder:: Binder ,
7
6
canonical:: Canonical ,
8
- func_def:: { lower_func, FuncDef , HirFuncDefKind } ,
7
+ func_def:: { lower_func, FuncDef } ,
9
8
ty_def:: { InvalidCause , TyBase , TyId } ,
10
9
ty_lower:: lower_hir_ty,
11
10
unify:: UnificationTable ,
12
11
} ;
13
- use crate :: {
14
- ty:: { ty_def:: TyData , ty_lower:: GenericParamTypeSet } ,
15
- HirAnalysisDb ,
16
- } ;
12
+ use crate :: { ty:: ty_def:: TyData , HirAnalysisDb } ;
17
13
18
14
#[ salsa:: tracked( return_ref) ]
19
15
pub ( crate ) fn collect_methods < ' db > (
@@ -22,11 +18,7 @@ pub(crate) fn collect_methods<'db>(
22
18
) -> MethodTable < ' db > {
23
19
let mut collector = MethodCollector :: new ( db, ingot) ;
24
20
25
- let enums = ingot. all_enums ( db. as_hir_db ( ) ) ;
26
- collector. collect_variant_ctors ( enums) ;
27
-
28
21
let impls = ingot. all_impls ( db. as_hir_db ( ) ) ;
29
-
30
22
collector. collect_impls ( impls) ;
31
23
collector. finalize ( )
32
24
}
@@ -150,47 +142,6 @@ impl<'db> MethodCollector<'db> {
150
142
}
151
143
}
152
144
153
- fn collect_variant_ctors ( & mut self , enums : & [ Enum < ' db > ] ) {
154
- let hir_db = self . db . as_hir_db ( ) ;
155
- for & enum_ in enums {
156
- let adt_ref = AdtRefId :: new ( self . db , enum_. into ( ) ) ;
157
- let adt = lower_adt ( self . db , adt_ref) ;
158
- for ( i, variant) in enum_. variants ( hir_db) . data ( hir_db) . iter ( ) . enumerate ( ) {
159
- if !matches ! ( variant. kind, VariantKind :: Tuple ( _) ) {
160
- continue ;
161
- } ;
162
- let ( Some ( name) , Some ( variant) ) =
163
- ( variant. name . to_opt ( ) , adt. fields ( self . db ) . get ( i) )
164
- else {
165
- continue ;
166
- } ;
167
-
168
- let arg_tys = variant. iter_types ( self . db ) . collect ( ) ;
169
- let mut ret_ty = TyId :: adt ( self . db , adt) ;
170
- let adt_param_set = adt. param_set ( self . db ) ;
171
- ret_ty = TyId :: foldl ( self . db , ret_ty, adt. param_set ( self . db ) . params ( self . db ) ) ;
172
-
173
- let param_set = GenericParamTypeSet :: new (
174
- self . db ,
175
- adt_param_set. params_precursor ( self . db ) . to_vec ( ) ,
176
- adt_param_set. scope ( self . db ) ,
177
- adt_param_set. len ( self . db ) ,
178
- ) ;
179
-
180
- let func = FuncDef :: new (
181
- self . db ,
182
- HirFuncDefKind :: VariantCtor ( enum_, i) ,
183
- name,
184
- param_set,
185
- arg_tys,
186
- Binder :: bind ( ret_ty) ,
187
- ) ;
188
-
189
- self . insert ( ret_ty, func)
190
- }
191
- }
192
- }
193
-
194
145
fn collect_impls ( & mut self , impls : & [ Impl < ' db > ] ) {
195
146
for impl_ in impls {
196
147
let ty = match impl_. ty ( self . db . as_hir_db ( ) ) . to_opt ( ) {
0 commit comments