diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index e0e3a919..cce8b368 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -8,7 +8,7 @@ on: jobs: deploy: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: diff --git a/SwiftRustIntegrationTestRunner/SwiftRustIntegrationTestRunner/Result.swift b/SwiftRustIntegrationTestRunner/SwiftRustIntegrationTestRunner/Result.swift index 3549fb6f..48dfad49 100644 --- a/SwiftRustIntegrationTestRunner/SwiftRustIntegrationTestRunner/Result.swift +++ b/SwiftRustIntegrationTestRunner/SwiftRustIntegrationTestRunner/Result.swift @@ -6,23 +6,29 @@ // func swift_func_takes_callback_with_result_arg( - arg: (RustResult) -> () + arg: (RustResult) -> Void ) { - arg(.Ok(CallbackTestOpaqueRustType(555))) + arg(.Ok(CallbackTestOpaqueRustType(555))) } public class ResultTestOpaqueSwiftType { - var num: UInt32 - - init(val: UInt32) { - self.num = val - } - - func val() -> UInt32 { - self.num - } + var num: UInt32 + + init(val: UInt32) { + self.num = val + } + + func val() -> UInt32 { + self.num + } } +// TODO: we can delete these type assertions once we correctly generate Sendable +// types. See the following issue: +// https://github.com/chinedufn/swift-bridge/issues/150 + +extension AsyncRustFnReturnStruct: @unchecked Sendable {} + extension ResultTestOpaqueRustType: @unchecked Sendable {} extension ResultTestOpaqueRustType: Error {} @@ -41,5 +47,7 @@ extension ResultTransparentStruct: Error {} extension SameEnum: @unchecked Sendable {} extension SameEnum: Error {} +extension AsyncResultOkEnum: @unchecked Sendable {} + extension AsyncResultErrEnum: @unchecked Sendable {} extension AsyncResultErrEnum: Error {} diff --git a/crates/swift-integration-tests/src/async_function.rs b/crates/swift-integration-tests/src/async_function.rs index d70a778b..5fecc4c8 100644 --- a/crates/swift-integration-tests/src/async_function.rs +++ b/crates/swift-integration-tests/src/async_function.rs @@ -13,7 +13,7 @@ mod ffi { extern "Rust" { async fn rust_async_return_null(); async fn rust_async_reflect_u8(arg: u8) -> u8; - async fn rust_async_reflect_string(string: String) -> String; + async fn rust_async_return_struct() -> AsyncRustFnReturnStruct; async fn rust_async_func_reflect_result_opaque_rust( arg: Result, @@ -21,6 +21,8 @@ mod ffi { async fn rust_async_func_return_result_null_opaque_rust( succeed: bool, ) -> Result<(), AsyncResultOpaqueRustType2>; + + async fn rust_async_reflect_string(string: String) -> String; } extern "Rust" {