Testing the waters: UMCS (Unified Method Call Syntax)
This is very interesting functionality-wise. I think having this ability would make Rust better, making disambiguation easier, and possibly macro-generated code more robust.
Specifying the full path to the method in one place seems more general than the recently proposed x.<Trait>::method() syntax, and looks closer to the existing UFCS syntax, which is a plus.
One thing I'm concerned about: is this currying? Can x.(foo) exist as a value, rather than just being part of a method call syntax? If so, what type does it have, with what lifetimes? Rust currently has a magic for two-phase borrows where x.foo(x.bar) is special. I'm afraid that currying wouldn't support that (at least not without new magic in the borrow checker and the type system), so changing x.foo(x.bar) to x.(foo)(x.bar) would fix one thing and break another.
Discussion in the ATmosphere