Sorry, the *syntax* is not inconsistent. The *docs* are inconsistent, I believe. The first example says:

|// This implements an interface `iter_util` for vector types
impl iter_util<T>  for [T] {
    fn len() ->  uint { std::vec::len(self) }
    fn iter(f: block(T)) { for elt in self { f(elt); } }
    fn map<U>(f: block(T) ->  U) ->  [U] {
        let rslt = [];
        for elt in self { rslt += [f(elt)]; }
        rslt
    }
}|

but this leading comment is incorrect.


Niko

On 1/5/12 11:16 AM, Marijn Haverbeke wrote:
If I write "impl foo for bar" does that define an impl
named `foo` with no interface, or an impl of the interface `foo`?
No interface.

  In that case, I write "impl of foo for bar" to get an impl of
the interface `foo` named `foo` for the type `bar`?
Correct. How is this inconsistent? There's an optional `of` clause to
specify the interface. As an abbreviation, you can leave off the
proper name when you want to use the name of the interface (and you
specified one).

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to