1 {%- if func.is_async() %}
3 public func {{ func.name()|fn_name }}({%- call swift::arg_list_decl(func) -%}) async {% call swift::throws(func) %}{% match func.return_type() %}{% when Some with (return_type) %} -> {{ return_type|type_name }}{% when None %}{% endmatch %} {
4 return {% call swift::try(func) %} await uniffiRustCallAsync(
6 {{ func.ffi_func().name() }}(
7 {%- for arg in func.arguments() %}
8 {{ arg|lower_fn }}({{ arg.name()|var_name }}){% if !loop.last %},{% endif %}
12 pollFunc: {{ func.ffi_rust_future_poll(ci) }},
13 completeFunc: {{ func.ffi_rust_future_complete(ci) }},
14 freeFunc: {{ func.ffi_rust_future_free(ci) }},
15 {%- match func.return_type() %}
16 {%- when Some(return_type) %}
17 liftFunc: {{ return_type|lift_fn }},
21 {%- match func.throws_type() %}
22 {%- when Some with (e) %}
23 errorHandler: {{ e|ffi_converter_name }}.lift
32 {%- match func.return_type() -%}
33 {%- when Some with (return_type) %}
35 public func {{ func.name()|fn_name }}({%- call swift::arg_list_decl(func) -%}) {% call swift::throws(func) %} -> {{ return_type|type_name }} {
36 return {% call swift::try(func) %} {{ return_type|lift_fn }}(
37 {% call swift::to_ffi_call(func) %}
43 public func {{ func.name()|fn_name }}({% call swift::arg_list_decl(func) %}) {% call swift::throws(func) %} {
44 {% call swift::to_ffi_call(func) %}