The OpenD Programming Language

isLvalueAssignable

Returns true iff an lvalue of type Rhs can be assigned to a variable of type Lhs.

enum isLvalueAssignable (
Lhs
Rhs = Lhs
)

Examples

struct S1
{
    void opAssign(S1);
}

struct S2
{
    void opAssign(ref S2);
}

static assert( isLvalueAssignable!(long, int));
static assert(!isLvalueAssignable!(int, long));
static assert( isLvalueAssignable!S1);
static assert( isLvalueAssignable!S2);

Meta