Re: overriding alias symbols

2016-10-12 Thread Superstar64 via Digitalmars-d-learn

On Wednesday, 12 October 2016 at 22:14:32 UTC, Superstar64 wrote:

...

Nevermind I just realized I can do this:
---
abstract class MyAbstractClass
{
void myAbstractMethod();
}

void defaultImplentation(T...)
{
}

class MyClass : MyAbstractClass
{
override void myAbstractMethod()
{
return defaultImplentation!();
}
}


Re: overriding alias symbols

2016-10-12 Thread Superstar64 via Digitalmars-d-learn

On Wednesday, 12 October 2016 at 22:46:14 UTC, Stefan Koch wrote:

override void mixin (__traits(identifier, Method)) ...  ?

Doesn't work:
test.d(8): Error: no identifier for declarator void
test.d(9): Error: found '{' when expecting ')'
test.d(10): Error: found '}' when expecting ';'
I could make the whole function a mixin but I don't wanna hurt my 
compile times.




Re: overriding alias symbols

2016-10-12 Thread Stefan Koch via Digitalmars-d-learn

On Wednesday, 12 October 2016 at 22:14:32 UTC, Superstar64 wrote:
I'm trying to use mixin templetes to provide generic default 
implementations.

Something like this:
---
abstract class MyAbstractClass
{
void myAbstractMethod();
}

mixin template defaultImplentation(alias Method, T...)
{
override void Method()
{
}
}

class MyClass : MyAbstractClass
{
mixin defaultImplentation!(myAbstractMethod);
}
---
Anyone have any ideas?


override void mixin (__traits(identifier, Method)) ...  ?