firebase-cpp-sdk icon indicating copy to clipboard operation
firebase-cpp-sdk copied to clipboard

Add a couple of workarounds for Swift on Windows

Open compnerd opened this issue 10 months ago • 2 comments

The C++ Interop efforts in Swift currently have some limitations. In particular, it cannot support trivial types with non-trivial destructors. As a workaround, provide a copy constructor which can be used by the Swift interop while using the regular semantics for all other cases.

A second issue arises in the handling of futures. Unfortunately, it is not currently possible to pass an indirect block parameter which prevents the construction of a callback. Workaround this by providing an inline shim to use a direct parameter (i.e. indirect value through a pointer) which then allows a callback to be formed.

Both of these items are being tracked upstream but seem to be potentially sufficient to enable the use of Swift for using the C++ SDK for desktop scenarios.

compnerd avatar Aug 04 '23 16:08 compnerd

✅  Integration test succeeded!

Requested by @jonsimantov on commit refs/pull/1414/merge Last updated: Wed Mar 13 16:30 PDT 2024 View integration test log & download artifacts

github-actions[bot] avatar Oct 20 '23 05:10 github-actions[bot]

@jonsimantov - anything else left before we can merge this?

compnerd avatar Oct 31 '23 17:10 compnerd