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
SR-14638 ☂️ Full support for overloaded enum cases (SE-0155)
Issue Description:
This issue manifests in library evolution mode only. It affects enums that have cases that differ in associated value labels only (i.e. they have the same base name, number, order, and types of associated values).
The following code:
publicenumFoo{case foo(bar:Int)case foo(bas:Int)}
when compiled in library evolution mode:
swiftc -enable-library-evolution -emit-library
does not contain an initializer for each enum case.
the expected number of such symbols is 2, one for each case in the enum.
The name mangling algorithm does not take associated value labels into account, therefore each initializer is emitted under the same mangled name by the compiler.
The text was updated successfully, but these errors were encountered:
Additional Detail from JIRA
md5: 2d294cd39397f2168345452e8e3d5a83
Parent-Task:
Issue Description:
This issue manifests in library evolution mode only. It affects enums that have cases that differ in associated value labels only (i.e. they have the same base name, number, order, and types of associated values).
The following code:
when compiled in library evolution mode:
does not contain an initializer for each enum case.
Running:
produces one symbol for:
the expected number of such symbols is 2, one for each case in the enum.
The name mangling algorithm does not take associated value labels into account, therefore each initializer is emitted under the same mangled name by the compiler.
The text was updated successfully, but these errors were encountered: