Consider the `coerce` method:
http://dpldocs.info/experimental-docs/std.variant.VariantN.coerce.html
Example:
import std.variant;
class A {}
class B : A {}
void main()
{
A b = new B;
auto bb = Variant(b).coerce!B;
assert (bb !is null);
}