Skip to content

Commit 110c40d

Browse files
committed
update find_members && intersection type
1 parent 201e841 commit 110c40d

File tree

5 files changed

+223
-136
lines changed

5 files changed

+223
-136
lines changed

crates/emmylua_code_analysis/src/db_index/type/types.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -717,8 +717,11 @@ impl LuaFunctionType {
717717
{
718718
return false;
719719
}
720-
721-
semantic_model.type_check(owner_type, t).is_ok()
720+
if semantic_model.type_check(owner_type, t).is_ok() {
721+
return true;
722+
}
723+
// 如果名称是`self`, 则做更宽泛的检查
724+
name == "self" && semantic_model.type_check(t, owner_type).is_ok()
722725
}
723726
None => name == "self",
724727
}

crates/emmylua_code_analysis/src/semantic/generic/instantiate_type/mod.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,6 @@ fn instantiate_tuple(db: &DbIndex, tuple: &LuaTupleType, substitutor: &TypeSubst
7474
match inner.deref() {
7575
VariadicType::Base(base) => {
7676
if let LuaType::TplRef(tpl) = base {
77-
// if tpl.is_variadic() {
78-
// if let Some(generics) = substitutor.get_variadic(tpl.get_tpl_id()) {
79-
// new_types.extend_from_slice(&generics);
80-
// }
81-
// break;
82-
// }
83-
8477
if let Some(value) = substitutor.get(tpl.get_tpl_id()) {
8578
match value {
8679
SubstitutorValue::None => {}

0 commit comments

Comments
 (0)