aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-05-13 11:53:59 +0100
committergingerBill <bill@gingerbill.org>2024-05-13 11:53:59 +0100
commitfacae34354dad8a00caddfb7d224774d9d768414 (patch)
treedeac45fabe1f98973a9ef7d5c3a8cd8d780d2c11 /src/check_expr.cpp
parentf8581537e496e9854a40f07a87543fc1357404fb (diff)
Fix #3584
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index 08f488642..4618bf969 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -1441,6 +1441,13 @@ gb_internal bool is_polymorphic_type_assignable(CheckerContext *c, Type *poly, T
// return check_is_assignable_to(c, &o, poly); // && is_type_subtype_of_and_allow_polymorphic(o.type, poly);
}
return false;
+
+ case Type_BitField:
+ if (source->kind == Type_BitField) {
+ return is_polymorphic_type_assignable(c, poly->BitField.backing_type, source->BitField.backing_type, true, modify_type);
+ }
+ return false;
+
case Type_Tuple:
GB_PANIC("This should never happen");
return false;