Testing the waters: UMCS (Unified Method Call Syntax)

Inspired by this comment, if import_trait_associated_functions is available, this example can be written as:

use ArithmeticallyAddable::add as a_add;
use Concatenatable::add as c_add;

println!("{}", anb.(a_add)());
println!("{}", anb.(c_add)());

Just looking from the result:

  • Much shorter
  • But not immediately clear which trait the method comes from (which I think is not uncommon in current Rust anyway?)