On Mon, 25 May 2015 09:24:56 +, ZombineDev wrote:
> alias can't refer to a nested member:
> -
> struct Point2 {
> float x;
> float y;
> }
>
> struct Line2 {
> Point2 start;
> Point2 end;
>
> mixin Access;
>
> // alias x1 = this.start.x; <- this does
On Mon, 25 May 2015 09:24:56 +, ZombineDev wrote:
> On Monday, 25 May 2015 at 07:57:49 UTC, ketmar wrote:
>> i don't know why you want that, but something like this may do:
>>
>> auto callBaseMethod(string MTN, C, Args...) (inout C self, Args args) {
>> alias FSC = BaseClassesTuple!(C)[0];
>
On Monday, 25 May 2015 at 09:24:58 UTC, ZombineDev wrote:
On Monday, 25 May 2015 at 07:57:49 UTC, ketmar wrote:
i don't know why you want that, but something like this may do:
auto callBaseMethod(string MTN, C, Args...) (inout C self,
Args args) {
alias FSC = BaseClassesTuple!(C)[0];
return
On Monday, 25 May 2015 at 07:57:49 UTC, ketmar wrote:
i don't know why you want that, but something like this may do:
auto callBaseMethod(string MTN, C, Args...) (inout C self, Args
args) {
alias FSC = BaseClassesTuple!(C)[0];
return mixin(`self.`~FSC.stringof~`.`~MTN~"(args)");
}
writeln
On Sun, 24 May 2015 23:32:50 +, ZombineDev wrote:
> I know I can call a base implementation of a method like in 3), but I
> need to do it generically like in 2). Does anybody now how I can achieve
> this?
i don't know why you want that, but something like this may do:
auto callBaseMethod(str
On Sunday, 24 May 2015 at 23:32:52 UTC, ZombineDev wrote:
...
Small correction for clarity:
void main()
{
Derived d = new Derived();
d.x = 13;
d.y = 15;
// 1) writeln(callMethod!(Derived, Derived.toString)(d)); <-
Should print 15
// 2) writeln(callBaseMethod!(Derived, Deri