@@ -21,8 +21,8 @@ use crate::{
2121 method_resolution:: { TyFingerprint , ALL_FLOAT_FPS , ALL_INT_FPS } ,
2222 to_assoc_type_id, to_chalk_trait_id,
2323 utils:: generics,
24- AliasEq , AliasTy , BoundVar , CallableDefId , CallableSig , DebruijnIndex , FnDefId , ProjectionTy ,
25- Substitution , TraitRef , Ty , TyKind , WhereClause ,
24+ AliasEq , AliasTy , BoundVar , CallableDefId , DebruijnIndex , FnDefId , ProjectionTy , Substitution ,
25+ TraitRef , Ty , TyKind , WhereClause ,
2626} ;
2727use mapping:: {
2828 convert_where_clauses, generic_predicate_to_inline_bound, make_binders, TypeAliasAsValue ,
@@ -288,9 +288,7 @@ impl<'a> chalk_solve::RustIrDatabase<Interner> for ChalkContext<'a> {
288288 ) -> chalk_ir:: Binders < rust_ir:: FnDefInputsAndOutputDatum < Interner > > {
289289 let sig_ty: Ty =
290290 from_chalk ( self . db , substs. at ( & Interner , 0 ) . assert_ty_ref ( & Interner ) . clone ( ) ) ;
291- let sig = CallableSig :: from_substs (
292- & sig_ty. substs ( ) . expect ( "first closure param should be fn ptr" ) ,
293- ) ;
291+ let sig = & sig_ty. callable_sig ( self . db ) . expect ( "first closure param should be fn ptr" ) ;
294292 let io = rust_ir:: FnDefInputsAndOutputDatum {
295293 argument_types : sig. params ( ) . iter ( ) . map ( |ty| ty. clone ( ) . to_chalk ( self . db ) ) . collect ( ) ,
296294 return_type : sig. ret ( ) . clone ( ) . to_chalk ( self . db ) ,
0 commit comments