I am trying to achieve the following:

enum FunctionResult<T> {
  case success(T)
  case error(String)
}

func tester<T>(test: (…) -> FunctionResult<T>, onError: (String) -> T) -> T {
   …
}

The problem is of course the (…) that simply does not work.

I would like to use this generic with a variety of different signatures, i.e.:

let result1 = tester(test: myfunc1(param: 26) -> FunctionResult<Bool>, onError: 
{ … handle the error ... })
let result2 = tester(test: myfunc2(param: “A String") -> FunctionResult<Bool>, 
onError: { … handle the error ... })
let result3 = tester(test: myfunc3(param: 26, param2: “String") -> 
FunctionResult<Int>, onError: { … handle the error ... })

Is this at all possible?

Regards,
Rien

Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Balancingrock
Project: http://swiftfire.nl





_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to