@@ -56,7 +56,7 @@ std::vector<std::unique_ptr<std::vector<Type>>> typeLists = [] {
56
56
};
57
57
58
58
add ({});
59
- add ({});
59
+ add ({Type::unreachable });
60
60
add ({Type::i32});
61
61
add ({Type::i64});
62
62
add ({Type::f32});
@@ -71,7 +71,7 @@ std::vector<std::unique_ptr<std::vector<Type>>> typeLists = [] {
71
71
72
72
std::unordered_map<std::vector<Type>, uint32_t > indices = {
73
73
{{}, Type::none},
74
- {{}, Type::unreachable},
74
+ {{Type::unreachable }, Type::unreachable},
75
75
{{Type::i32}, Type::i32},
76
76
{{Type::i64}, Type::i64},
77
77
{{Type::f32}, Type::f32},
@@ -139,14 +139,6 @@ const std::vector<Type>& Type::expand() const {
139
139
}
140
140
141
141
bool Type::operator <(const Type& other) const {
142
- // Both none and unreachable do not have a vector to expand, so we have to
143
- // handle them specially here.
144
- if (id == none && other.id == unreachable) {
145
- return true ;
146
- } else if (id == unreachable && other.id == none) {
147
- return false ;
148
- }
149
-
150
142
const std::vector<Type>& these = expand ();
151
143
const std::vector<Type>& others = other.expand ();
152
144
return std::lexicographical_compare (
0 commit comments