Bug 307163
| Summary: | Reinstate equality function | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | adrian_taylor |
| Component: | WebKit Process Model | Assignee: | 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
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/169799223>
adrian_taylor
Pull request: https://github.com/WebKit/WebKit/pull/58048
EWS
Committed 306981@main (1e7656151272): <https://commits.webkit.org/306981@main>
Reviewed commits have been landed. Closing PR #58048 and removing active labels.