diff options
| author | Yong He <yonghe@outlook.com> | 2024-07-25 09:45:56 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-25 09:45:56 -0700 |
| commit | a443350a6bb344ccda46c35ebad5a7cf1a7b262d (patch) | |
| tree | a873d13d084e3054e52ca40b586def5f49a01ac3 /source | |
| parent | 7ea47f9a7cb2a6dd8f9b1da909ed8a2e98216438 (diff) | |
Allow implicitly casting enum types to bool. (#4739)
* Allow implicitly casting enum types to bool.
* Fix.
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/core.meta.slang | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang index 2da0fa523..45b3435eb 100644 --- a/source/slang/core.meta.slang +++ b/source/slang/core.meta.slang @@ -751,6 +751,14 @@ extension bool : IRangedValue __intrinsic_op($(kIROp_CastPtrToBool)) __init(Ptr<T> ptr); + __generic<T : __EnumType> + __implicit_conversion($(kConversionCost_IntegerTruncate)) + [__unsafeForceInlineEarly] + __init(T v) + { + return __slang_noop_cast<T.__Tag>(v) != __intCast<T.__Tag>(0); + } + static const bool maxValue = true; static const bool minValue = false; } |
