diff options
Diffstat (limited to 'src/analyze.cpp')
| -rw-r--r-- | src/analyze.cpp | 10 |
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(); } |
