In Weird syntax idea(s) for UMCS , there was a proposal for syntax that would let you call any function as if it was a method of its first parameter. In summary, x.(foo)(y)
would be like foo(x, y)
, except with the usual auto-(de)refs applied to x
.
Something like that would be primarily useful for functions that aren't methods, but should also allow using the fully qualified syntax within method chains:
42
.(<i8 as Into<i16>>::into)()
.(Into::<i32>::into)()