Has anybody worked out a decent way to lay out complex definitions? This is 
what I'm starting to do:

   pub trait AffineSpace
   <
       S: Field,
       V: VectorSpace<S>
   >
   :   Eq
   +   Zero
   +   Add<V, Self>
   +   Sub<Self, V>
   +   ScalarMul<S>
   {
       // ...
   }

impls are harder though:

   impl<S: Field> Sub<Point3<S>, Vec3<S>> for Point3<S> { … }

Any ideas? This is one way maybe, but it looks terrible:

   impl
   <
       S: Field
   >
   Sub
   <
       Point3<S>,
       Vec3<S>
   >
   for Point3<S>
   {
        // ... 
   }

Stacking it is probably overkill for that impl, but there a most likely going 
to be worse ones. Maybe this is more of a problem with the current syntax?

~Brendan

_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to