Can function objects be passed as arguments for a closure-typed parameter?

No, you cannot do that yet.

struct S {
  func callAsFunction() {}
}

func method(_: () -> Void) {}

let s = S()
method(s) // error