aboutsummaryrefslogtreecommitdiff
path: root/core/runtime/core.odin
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2020-11-23 15:53:49 +0000
committergingerBill <bill@gingerbill.org>2020-11-23 15:53:49 +0000
commit4e370e6ed8d6cfe3dee306dfbc298ba68722f12e (patch)
tree075c3639d3378c47279800a97229d6ee159126ff /core/runtime/core.odin
parent0b30c3dc5ad3f3908719af19e9f7e61daae37706 (diff)
Add `equal` procedure field to `runtime.Type_Info_Struct`
Diffstat (limited to 'core/runtime/core.odin')
-rw-r--r--core/runtime/core.odin5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/runtime/core.odin b/core/runtime/core.odin
index 2989c4700..14d5c99ce 100644
--- a/core/runtime/core.odin
+++ b/core/runtime/core.odin
@@ -88,6 +88,8 @@ Type_Info_Tuple :: struct { // Only used for procedures parameters and results
types: []^Type_Info,
names: []string,
};
+
+Type_Struct_Equal_Proc :: distinct proc "contextless" (rawptr, rawptr) -> bool;
Type_Info_Struct :: struct {
types: []^Type_Info,
names: []string,
@@ -97,6 +99,9 @@ Type_Info_Struct :: struct {
is_packed: bool,
is_raw_union: bool,
custom_align: bool,
+
+ equal: Type_Struct_Equal_Proc, // set only when the struct has .Comparable set but does not have .Simple_Compare set
+
// These are only set iff this structure is an SOA structure
soa_kind: Type_Info_Struct_Soa_Kind,
soa_base_type: ^Type_Info,