Should these aliases kind be illegal ?
Timon Gehr via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Aug 12 18:25:34 PDT 2015
On 08/13/2015 12:17 AM, anonymous wrote:
> The following alias declaration is totally legal but actually it's not
> usable
>
> ---
> class Foo
> {
> void something(size_t param){}
> }
>
> class Bar
> {
> private Foo foo;
> this(){foo = new Foo;}
> alias somethingelse = foo.something;
> }
>
> void main(string[] args)
> {
> auto bar = new Bar;
> //bar.somethingelse(0u);
> }
> ---
>
> The call doesn't work but the declaration is fine. What is possible to
> make with this declaration ?
I believe it currently just does the same thing as:
---
class Foo{
void something(size_t param){}
}
class Bar{
private Foo foo;
this(){foo = new Foo;}
alias somethingelse = typeof(foo).something;
}
---
But IMO the appropriate response here is to just make it work as one
would expect, not to make it illegal.
More information about the Digitalmars-d-learn
mailing list