I can do this
import std.variant;

struct Alpha {
        Variant something;
        
        this(Variant v){
                something = v;
        }
        
        static Alpha build(T)(T v){
                return Alpha( cast(Variant)v );
        }
        
}

void main(){
        auto a = Alpha.build!(int)( 6);
        auto b = Alpha.build!(string)( "hello");
        auto l = new Alpha[](2);
        l[0] = a;
        l[1] = b;
}

If someone has better

Reply via email to