Skip to content

Commit f4c1932

Browse files
committed
fix generic infer
1 parent b51cca9 commit f4c1932

File tree

4 files changed

+3
-13
lines changed

4 files changed

+3
-13
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# 0.3.4 (unreleased)
44

5-
TODO
5+
`CHG` refactor `template system`, optimize the generic infer
66

77
# 0.3.3
88

crates/code_analysis/src/semantic/infer/infer_call.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ fn infer_call_result(
4646
) -> Option<LuaType> {
4747
let return_type = match prefix_type {
4848
LuaType::DocFunction(func) => {
49-
infer_call_by_doc_function(db, config, &func, call_expr.clone(), false)?
49+
infer_call_by_doc_function(db, config, &func, call_expr.clone(), func.is_colon_define())?
5050
}
5151
LuaType::Signature(signature_id) => {
5252
infer_call_by_signature(db, config, signature_id.clone(), call_expr.clone())?

crates/code_analysis/src/semantic/instantiate/instantiate_class_generic.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ fn instantiate_tpl_ref(_: &DbIndex, tpl: &GenericTpl, substitutor: &TypeSubstitu
190190
if let Some(ty) = substitutor.get(tpl.get_tpl_id()) {
191191
ty.clone()
192192
} else {
193-
LuaType::Unknown
193+
LuaType::TplRef(tpl.clone().into())
194194
}
195195
}
196196

crates/code_analysis/src/semantic/instantiate/instantiate_func_generic.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,6 @@ fn instantiate_func_by_args(
8181
);
8282
}
8383

84-
// let max = *substitutor.keys().max()?;
85-
// let mut generic_params = Vec::new();
86-
// for i in 0..=max {
87-
// if let Some(generic_param) = substitutor.get(&i) {
88-
// generic_params.push(generic_param.clone());
89-
// } else {
90-
// generic_params.push(LuaType::Unknown);
91-
// }
92-
// }
93-
9484
for i in 0..func_param_types.len() {
9585
let func_param_type = &mut func_param_types[i];
9686
let new_func_param_type = instantiate_type(db, &func_param_type, &substitutor);

0 commit comments

Comments
 (0)