> (1) Typeclass imports become "import impl". So you'd write "import impl > driver::diagnostic::handler" where you'd write "import > driver::diagnostic::handler" today. This way, when you look at a method call > and you don't know where it's coming from, you just grep for "import impl" > and look at all the implementations in scope.
It can often be pleasant to have impls included in a * import (but then, it is also occasionally not what you want). Similarly, it is currently very convenient to name a type and an impl with the same name, so that importing it gets you both the type and its methods. Maybe we can somehow tweak the syntax to also allow a form that imports both impls and other things? > (2) Change method calls to '->', like C++, Perl, and PHP. That operator is > free and it has precedent. And getting away from overloading the dot worked > well when we changed module access from '.' to '::'. I considered this when I did the first implementation. I figured that simply giving record field access precedence was good enough, but the readability argument is valid. _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
