November 01, 2022

When is it preferrable to use

struct S { private T t; alias t this; }

instead of

struct S { public T t; alias t this; }

for any given type T?

November 02, 2022

On Tuesday, 1 November 2022 at 23:01:57 UTC, Per Nordlöw wrote:

>

When is it preferrable to use

struct S { private T t; alias t this; }

instead of

struct S { public T t; alias t this; }

for any given type T?

If the alias this needs to work outside the module where S is defined, you must make the member variable public. So in almost all cases, the second form is the correct one.