diff options
| author | Yong He <yonghe@outlook.com> | 2024-03-28 16:57:53 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-28 16:57:53 -0700 |
| commit | 75afa659e9a16589638083a1fcf9e879225619cd (patch) | |
| tree | 1462b68a47f2f1b4856e298185ad24145a4acc83 /source/slang/slang-check-conversion.cpp | |
| parent | 56928794d0800824dc91e150cb345b5fec24d930 (diff) | |
Fix type union logic in generic type inference. (#3852)
Diffstat (limited to 'source/slang/slang-check-conversion.cpp')
| -rw-r--r-- | source/slang/slang-check-conversion.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/slang/slang-check-conversion.cpp b/source/slang/slang-check-conversion.cpp index aeb964cc9..e55a88077 100644 --- a/source/slang/slang-check-conversion.cpp +++ b/source/slang/slang-check-conversion.cpp @@ -1389,13 +1389,22 @@ namespace Slang } bool SemanticsVisitor::canConvertImplicitly( + ConversionCost conversionCost) + { + // Is the conversion cheap enough to be done implicitly? + if (conversionCost >= kConversionCost_GeneralConversion) + return false; + return true; + } + + bool SemanticsVisitor::canConvertImplicitly( Type* toType, QualType fromType) { auto conversionCost = getConversionCost(toType, fromType); // Is the conversion cheap enough to be done implicitly? - if (conversionCost >= kConversionCost_GeneralConversion) + if (canConvertImplicitly(conversionCost)) return false; return true; |
