summaryrefslogtreecommitdiffstats
path: root/source/slang/core.meta.slang
diff options
context:
space:
mode:
authorJulius Ikkala <julius.ikkala@gmail.com>2025-01-10 03:24:00 +0200
committerGitHub <noreply@github.com>2025-01-10 01:24:00 +0000
commite8217c70072080e9d1f499cb670cc08f146818f2 (patch)
treeaba8a73dc7dcbd04fdb91dfb82c5b699e688268c /source/slang/core.meta.slang
parentb72e62f5caacd16cb98ee4a746ad06a536691e27 (diff)
Fix implicit string conversion breaking NativeStrings (#6035)
* Fix implicit string conversion breaking NativeStrings * Allow string literals to coerce to either string type * Add test for CPU string passing --------- Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/slang/core.meta.slang')
-rw-r--r--source/slang/core.meta.slang6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang
index adb7470dd..f0324ba1a 100644
--- a/source/slang/core.meta.slang
+++ b/source/slang/core.meta.slang
@@ -1463,6 +1463,11 @@ struct String
__intrinsic_op($(kIROp_MakeString))
__init(double val);
+ [require(cpp)]
+ __implicit_conversion($(kConversionCost_None))
+ __intrinsic_op($(kIROp_MakeString))
+ __init(NativeString value);
+
/// Returns the length of the string.
[require(cpp)]
int64_t getLength();
@@ -1502,6 +1507,7 @@ struct NativeString
property int length { [__unsafeForceInlineEarly] get{return getLength();} }
+ __implicit_conversion($(kConversionCost_None))
__intrinsic_op($(kIROp_getNativeStr))
__init(String value);
};