Another interesting point of precedent is Swift. One particular point of interest is that they decouple external names from internal names, permitting more “fluent”-reading APIs. For example:
func increase(by increment: Int)
increase(by: 3)
This suggests an easy opt-in for Rust, since adding an external name is a requirement. Swift also mandates order and incorporates the argument name into the type (this is another point not necessarily addressed in this RFC: what happens with e.g., fn()
types and the Fn
traits).