The OpenD Programming Language

Algebraic.AllowedTypes

Allowed types list

import mir.algebraic;
struct Algebraic(T__...)
alias AllowedTypes = AliasSeq!(ReplaceTypeUnless!(.isVariant, .This, Algebraic!T__, Types__))

Examples

import std.meta: AliasSeq;

alias V = Nullable!
(
    This*,
    string,
    double,
    bool,
);

static assert(is(V.AllowedTypes == TypeSet!(
    typeof(null),
    bool,
    string,
    double,
    V*)));

See Also

Meta