Enum member propertySemantics

Tells you what property semantics a symbol has

enum propertySemantics(alias sym) = PropertySemantics.rw;

Returns

The PropertySemantics of the symbol

Example

static assert(propertySemantics!localRead == PropertySemantics.r);
static assert(propertySemantics!localWrite == PropertySemantics.w);
static assert(propertySemantics!localReadWrite == PropertySemantics.rw);

struct S {
    int m;
    @property int rp() { return m; }
    @property void wp(int) {}
    @property int rwp() { return m; }
    @property void rwp(int) {}
}

static assert(!__traits(compiles, propertySemantics!(S.na)));
static assert(!__traits(compiles, propertySemantics!(S.m)));
static assert(propertySemantics!(S.rp) == PropertySemantics.r);
static assert(propertySemantics!(S.wp) == PropertySemantics.w);
static assert(propertySemantics!(S.rwp) == PropertySemantics.rw);