You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
params-type ::= type 'z'? 'h'? // tuple in case of multiple parameters or a single parameter with a single tuple type
741
743
// with optional inout convention, shared convention. parameters don't have labels,
@@ -751,6 +753,7 @@ Types
751
753
#if SWIFT_RUNTIME_VERSION >= 6.0
752
754
throws ::= type 'YK' // 'throws(type)' annotation on function types
753
755
function-isolation ::= type 'YA' // @isolated(any) on function type
756
+
sending-result ::= 'YT' // -> sending T
754
757
#endif
755
758
differentiable ::= 'Yjf' // @differentiable(_forward) on function type
756
759
differentiable ::= 'Yjr' // @differentiable(reverse) on function type
@@ -762,6 +765,12 @@ Types
762
765
// FIXME: Consider replacing 'h' with a two-char code
763
766
list-type ::= type identifier? 'Yk'? 'z'? 'h'? 'n'? 'Yi'? 'd'? 'Yt'? // type with optional label, '@noDerivative', inout convention, shared convention, owned convention, actor 'isolated', variadic specifier, and compile-time constant
764
767
768
+
In the mangling of C function types,``C-TYPE`` is mangled according to the Itanium ABI, prefixed with its length. This resembles the mangling of ``identifier``, but it does not honor substitutions or Punycode.
769
+
770
+
The 6.0 Swift runtime supports demangling ``sending-result``, but has a bug when it's combined with ``function-isolation``.
$sSRyxG15Synchronization19AtomicRepresentableABRi_zrlMc ---> protocol conformance descriptor for < where A: ~Swift.Copyable> Swift.UnsafeBufferPointer<A> : Synchronization.AtomicRepresentable in Synchronization
471
471
$sSRyxG15Synchronization19AtomicRepresentableABRi0_zrlMc ---> protocol conformance descriptor for < where A: ~Swift.Escapable> Swift.UnsafeBufferPointer<A> : Synchronization.AtomicRepresentable in Synchronization
@@ -483,3 +483,5 @@ $s4mainAAyyycAA1CCFTTH ---> hop to main actor thunk of main.main(main.C) -> () -
0 commit comments