diff options
| author | gingerBill <bill@gingerbill.org> | 2020-06-30 19:10:24 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2020-06-30 19:10:24 +0100 |
| commit | 7bdd8094d62f9f33eb2e0aedc3ba1a08554ef87e (patch) | |
| tree | 18bc44390d572cb33a65a4922cb3e352baa30537 | |
| parent | 323fc7a6a9ff795966acb01369c232a7ddacf760 (diff) | |
Fix `signature_parameter_similar_enough` logic
| -rw-r--r-- | src/check_decl.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp index a74e18ebc..f05c7cd24 100644 --- a/src/check_decl.cpp +++ b/src/check_decl.cpp @@ -519,24 +519,21 @@ bool sig_compare(TypeCheckSig *a, TypeCheckSig *b, Type *x, Type *y) { } bool signature_parameter_similar_enough(Type *x, Type *y) { - x = core_type(x); - y = core_type(y); - if (sig_compare(is_type_pointer, x, y)) { return true; } if (sig_compare(is_type_integer, x, y)) { - GB_ASSERT(x->kind == Type_Basic); - GB_ASSERT(y->kind == Type_Basic); + GB_ASSERT(core_type(x)->kind == Type_Basic); + GB_ASSERT(core_type(y)->kind == Type_Basic); i64 sx = type_size_of(x); i64 sy = type_size_of(y); if (sx == sy) return true; } if (sig_compare(is_type_integer, is_type_boolean, x, y)) { - GB_ASSERT(x->kind == Type_Basic); - GB_ASSERT(y->kind == Type_Basic); + GB_ASSERT(core_type(x)->kind == Type_Basic); + GB_ASSERT(core_type(y)->kind == Type_Basic); i64 sx = type_size_of(x); i64 sy = type_size_of(y); if (sx == sy) return true; |