Bug 307163

Summary: Reinstate equality function
Product: WebKit Reporter: adrian_taylor
Component: WebKit Process ModelAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: nham, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

adrian_taylor
Reported 2026-02-06 06:33:29 PST
A build failure in some SDKs required the temporary removal of the func === function. It's needed in order to compare identities of C++ objects within Swift code (which will ultimately be fixed by rdar://130765784). Unfortunately, implmenting this function breaks Swift/C++ interop as it attempts to generate a C++ 'operator===' declaration which isn't valid (rdar://169474185). Therefore we need to exclude this func === from Swift/C++ interop, which is achieved by specifying @_expose(!Cxx). But some of the SDKs on which WebKit builds are too old for that - they use Swift 6.2.0 - so they do not successfully parse this expose attribute (rdar://152838988). This caused the build failure (rdar://169702502). The Back Forward List in Swift code does not need to support compilers that old, so follow practice in WebGPU, and conditionally compile the Back Forward List Swift code only on Swift 6.2.3+.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-02-06 06:33:37 PST
adrian_taylor
Comment 2 2026-02-06 06:37:51 PST
EWS
Comment 3 2026-02-06 15:35:19 PST
Committed 306981@main (1e7656151272): <https://commits.webkit.org/306981@main> Reviewed commits have been landed. Closing PR #58048 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.