Skip to content

Commit fcb6f5b

Browse files
committed
Use never type for remove
Fix #584
1 parent 94f5a50 commit fcb6f5b

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

crates/emmylua_code_analysis/src/db_index/type/type_ops/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@ impl TypeOps {
1818
pub fn apply(&self, db: &DbIndex, source: &LuaType, target: &LuaType) -> LuaType {
1919
match self {
2020
TypeOps::Union => union_type::union_type(source.clone(), target.clone()),
21-
TypeOps::Remove => {
22-
remove_type::remove_type(db, source.clone(), target.clone()).unwrap_or(LuaType::Any)
23-
}
21+
TypeOps::Remove => remove_type::remove_type(db, source.clone(), target.clone())
22+
.unwrap_or(LuaType::Never),
2423
}
2524
}
2625
}

crates/emmylua_code_analysis/src/db_index/type/type_ops/union_type.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ pub fn union_type(source: LuaType, target: LuaType) -> LuaType {
77
// ANY | T = ANY
88
(LuaType::Any, _) => LuaType::Any,
99
(_, LuaType::Any) => LuaType::Any,
10+
(LuaType::Never, _) => target,
11+
(_, LuaType::Never) => source,
1012
(LuaType::Unknown, _) => target,
1113
(_, LuaType::Unknown) => source,
1214
// int | int const

0 commit comments

Comments
 (0)