Rust Code in the Wild
Dicebot
public at dicebot.lv
Thu Sep 5 07:01:38 PDT 2013
On Thursday, 5 September 2013 at 13:50:59 UTC, Timon Gehr wrote:
> Of course, the code contains a certain amount of duplication I
> wouldn't really want to write down, and this could be improved
> in D:
>
> struct BodyWorld(N, LV, AV, M, II, CM){
> private alias Args = Seq!(N, LV, AV, M, II);
>
> World!(N, Body!Args, Constraint!Args) world;
> BodyForceGenerator!Args* forces;
> BodySmpEulerIntegrator!Args* integrator;
> BodiesBodies!(Args, BF!Args)* detector;
> IslandActivationManager!Args* sleep;
> SweptBallMotionClamping!(Args, BF!Args)* ccd;
> JointManager!Args* joints;
> AccumulatedImpulseSolver!(Args, CM)* solver;
> }
This actually a pretty good highlight how even simplest
compile-time facilities can make code much more readable and
maintainable. If proxying is all it does, using variadic template
parameters may be even better.
But I tend to agree. I don't see anything inherently wrong with
Rust syntax here other than lacking (not using?) better meta
facilities.
More information about the Digitalmars-d
mailing list