What ever happened to SE-0042?

We never got around to implementing it and it sort of fell by the wayside.

Implementing this change properly would require a rather large rework of the declaration checker and SILGen. Internally in the compiler all methods have a type like (Self) -> (Args...) -> () and abstracting away this assumption will require many changes.

The old behavior would also have to be simulated for source compatibility, and we would have to work out a migrator strategy.

I think if any members of the community were interested in seeing this revived, perhaps re-pitching it as a new proposal would be a good way forward. We need to discuss if some of the assumptions in the original proposal are still valid, since it is now almost two years later. In particular, we might want to consider a new syntax for the 'uncurried' form of the method, which would be backward compatible with existing code. @Joe_Groff suggested overloading keypath syntax for this, so you would write \MyType.method to form an uncurried reference.

6 Likes