int integerValue; string stringValue; int[] intArrayValue; static assert(GenerateRefReader!("foo", integerValue) == "public final @property ref auto foo() " ~ "@nogc nothrow pure @safe { return this.foo; }"); static assert(GenerateRefReader!("foo", stringValue) == "public final @property ref auto foo() " ~ "@nogc nothrow pure @safe { return this.foo; }"); static assert(GenerateRefReader!("foo", intArrayValue) == "public final @property ref auto foo() " ~ "@nogc nothrow pure @safe { return this.foo; }");