I have a mixin template that I use to make programming to interfaces easier. The problem is when I try to wrap the template to reduce dependence on the container class(using typeof(this)) I get an error as the string mixin is not working.

The code can be seen here

http://dpaste.dzfl.pl/6c90ca418996

The lines are 77-81 and 162-163 that are the problems. AbstractToInterface(a mixin template) simply wraps AbstractToInterface2(a string mixin)

(I haven't removed the container class dependency since it doesn't change anything yet but that is the goal)


I have a simplified test case that does work(and does remove the extra parameter but, again, that isn't where the problem is).

http://dpaste.dzfl.pl/dd8d1888da44

B is a string mixin template that depends on the container class(parameter T). I do not want to have to duplicate that argument though since it is not necessary. Hence where the mixin template C comes into play. It is able to get the container class type and pass it to B.

There is no real difference between the two yet the first gives strange errors(I get different errors about assignment(lines 200 and 212) but dpaste gives more direct results(the properties to handle the general case are simply not mixed in).


There should be no difference between the two code examples. They both essentially do the same thing(wrap a string mixin). Why one works and the other doesn't is beyond me.... seems like a bug unless I'm doing something really stupid.

Any ideas?

P.S. The specific error I get is "Error: gui.border is not an lvalue" which suggests that the setter properties are not being inserted.


Reply via email to