You are right.
Even this doesn't work:
import std.stdio;
class one { }
class two : one { }
void main()
{
static if ( is(two T : one) )
writeln("test");
}
Additionally it's really strange dmd doesn't complain about TWO and ONE if
the aliases are omitted.
Seems like two distinct bugs to me.
File bug reports.