完全修飾名

Javaのような完全修飾名でのメソッド呼び出しはできないみたい。
完全修飾してもimportを書く必要があるようだ。
○
private import std.regexp;
linebuf = sub(linebuf, r"\s*//.*$", "");
×
linebuf = std.regexp.sub(linebuf, r"\s*//.*$", "");
Access Violation

interfaceを変えた場合など、依存関係が動いていないとAccess Violationを食らったりする。
よくわからなかったらとりあえずmake clean allで。
lengthに注意

メンバ変数にlengthがあるときにメンバ関数の中で
theta[length-1];
とすると動かなかった。
theta[theta.length-1];
で。
プロパティ

何も考えずにプロパティを書いてはまらないように
float x(){ return pos.x; }
void x(float x){ pos.x = x; }
float y(){ return pos.y; }
void y(float y){ pos.y = y; }
Vec2 pos(){ return Vec2(x, y); }
void pos(Vec2 pos){ pos_ = pos; }
protected Vec2 pos_;
とかすると、pos() -> x() -> pos() -> ... と無限ループ
正しくは、
float x(){ return pos_.x; }
オーバヘッドを考えてもこっちのほうがいいでしょう