In Swift 3, what is a way to compare two closures?

Viewed 3892

Suppose you have two closures of type (Int)->() in Swift 3 and test to see if they are the same as each other:

typealias Baz = (Int)->()
let closure1:Baz = { print("foo \($0)") }
let closure2:Baz = { print("bar \($0)") }

if(closure1 == closure2) {
    print("equal")
}

This fails to compile, giving the message:

Binary operator '==' cannot be applied to two '(Int)->()' operands

OK, well, how then can we compare two closures of the same type, to see if they are the same?

2 Answers
Related