On Wednesday, 15 April 2015 at 23:02:32 UTC, Ali Çehreli wrote: > struct I { > alias T = size_t; > this(T ix) { this._ix = ix; } > T opCast(U : T)() const { return _ix; } > private T _ix = 0; > } How is this possible? Shouldn't it CT-evaluate to struct Index { ... } !?