implement len and is_empty method in generic_params

This commit is contained in:
dfireBird 2024-03-29 18:26:46 +05:30
parent a8b7acf22f
commit 69c4ac6304
No known key found for this signature in database
GPG key ID: 26D522CA5FC2B93D
5 changed files with 15 additions and 9 deletions

View file

@ -644,8 +644,7 @@ pub fn is_dyn_method(
let ItemContainerId::TraitId(trait_id) = func.lookup(db.upcast()).container else {
return None;
};
let generic_params = db.generic_params(trait_id.into());
let trait_params = generic_params.type_or_consts.len() + generic_params.lifetimes.len();
let trait_params = db.generic_params(trait_id.into()).len();
let fn_params = fn_subst.len(Interner) - trait_params;
let trait_ref = TraitRef {
trait_id: to_chalk_trait_id(trait_id),
@ -687,8 +686,7 @@ pub(crate) fn lookup_impl_method_query(
let ItemContainerId::TraitId(trait_id) = func.lookup(db.upcast()).container else {
return (func, fn_subst);
};
let generic_params = db.generic_params(trait_id.into());
let trait_params = generic_params.type_or_consts.len() + generic_params.lifetimes.len();
let trait_params = db.generic_params(trait_id.into()).len();
let fn_params = fn_subst.len(Interner) - trait_params;
let trait_ref = TraitRef {
trait_id: to_chalk_trait_id(trait_id),