Generality creep
Kagamin
spam at here.lot
Wed Mar 20 17:41:18 UTC 2019
On Tuesday, 19 March 2019 at 14:08:24 UTC, Steven Schveighoffer
wrote:
> The problem is a simple one: typeof(a.length) is not size_t,
> but a function type.
>
> If you put @property on the length function it would work, but
> I think we should not require that.
>
> -Steve
struct S
{
size_t length() const { return 0; }
}
auto ref property(T)(auto ref T a){ return a; }
void f()
{
S s;
assert(s.length == 0); //OK
static assert(is(typeof(property(s.length))==size_t));
}
Can this work?
More information about the Digitalmars-d
mailing list