Why isn't polymorphic down-casts such as in the following pattern
matching on sub-class
class Base {}
class Sub : Base {}
@safe unittest
{
auto base = new Base();
if (auto sub = cast(Sub)base)
{
// use sub
}
}
allowed in safe D?