diff options
| author | gingerBill <bill@gingerbill.org> | 2021-09-25 17:47:23 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-09-25 17:47:23 +0100 |
| commit | 931fdd2dca7dcd4f647acb1b38d9cbe49ca9cb30 (patch) | |
| tree | c9127e50d677ec84407c040181dc63dbefc0b07c | |
| parent | e6d8fbf194b9559299c7d757de2e2c8ac4402e66 (diff) | |
Add `reflect.any_base` `reflect.any_core`
| -rw-r--r-- | core/reflect/reflect.odin | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/core/reflect/reflect.odin b/core/reflect/reflect.odin index e7cb928c3..6316115ec 100644 --- a/core/reflect/reflect.odin +++ b/core/reflect/reflect.odin @@ -157,6 +157,21 @@ typeid_core :: proc(id: typeid) -> typeid { } typeid_base_without_enum :: typeid_core +any_base :: proc(v: any) -> any { + v := v + if v != nil { + v.id = typeid_base(v.id) + } + return v +} +any_core :: proc(v: any) -> any { + v := v + if v != nil { + v.id = typeid_core(v.id) + } + return v +} + typeid_elem :: proc(id: typeid) -> typeid { ti := type_info_of(id) if ti == nil { return nil } |