== Why is this an issue?

Using trailing closure syntax for the last parameter in a call is often the most elegant way to handle it. But if the call requires multiple function-type arguments, the use of a trailing closure can be messy and confusing. In such cases, it's better to pass closure expressions as normal arguments.


=== Noncompliant code example

[source,swift]
----
var x = complexOperation(
  arg: 2,
  op1: {$0 + 10}
) {$0 * $0}
----


=== Compliant solution

[source,swift]
----
var x = complexOperation(
  arg: 2,
  op1: {$0 + 10},
  op2: {$0 * $0}
)
----



ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Move this trailing closure inside/outside of the function call.


'''
== Comments And Links
(visible only on this page)

=== on 21 May 2015, 07:57:39 Elena Vilchik wrote:
\[~ann.campbell.2] you understand the rule in a wrong way. The thing is that you can use trailing syntax only for the last parameter. 

I changed description, could you verify it? 

=== on 21 May 2015, 13:57:57 Ann Campbell wrote:
Back to you [~elena.vilchik] to check my changes and to update code examples as discussed.

endif::env-github,rspecator-view[]
