aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index 99f1dac3c4..91fbddf717 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -2909,6 +2909,16 @@ static TypeTableEntry *analyze_bool_bin_op_expr(CodeGen *g, ImportTableEntry *im
} else {
zig_unreachable();
}
+ } else if (resolved_type->id == TypeTableEntryIdFn) {
+ bool are_equal = (op1_val->data.x_fn == op2_val->data.x_fn);
+
+ if (bin_op_type == BinOpTypeCmpEq) {
+ answer = are_equal;
+ } else if (bin_op_type == BinOpTypeCmpNotEq) {
+ answer = !are_equal;
+ } else {
+ zig_unreachable();
+ }
} else {
zig_unreachable();
}