Error: Cannot convert the expression type (String, MyType) to ()
From the following code
Test(method: {[weak self] (message: String
The implicit return is returning the result of your callback() method. That return value conflicts with the closure's return value of void. You thus need an explicit, if ugly, return.
callback()
void
return