Throws in callback definition confuses compiler

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.

Thanks, logged as bugs://77640

Seems fine now.

bugs://77640 got closed with status fixed.