Consider the following skeleton of a Promise class (it’s always about the promises, they have gnarly generics):
class Promise<T>
{
func then( callback: (T) throws -> () ) -> Promise<T>
{
return self
}
}
let x = Promise<String>()
x.then()
{
(val: String) -> () in
print(val)
}
In 9.1.100.2129 this fails to compile with
error E258: Signature for anonymous method does not match for parameter 1, expected “T1”, but got “remobjects.elements.rtl.String”
If you take out the “throws” in the definition of callback, it’s happy.