On Thursday, 28 April 2016 at 12:28:23 UTC, tsbockman wrote:
On Thursday, 28 April 2016 at 10:21:34 UTC, Andrew Benton wrote:
So to the point: Is there an easier way to do this that I'm missing? Is there a language-design reason that mixed in templates can't inherit? It seems like an intuitive use of mixin.

Mixins are (mostly) just a convenient way to generate code, given some parameters. They aren't supposed to work any differently than the same code would if you instantiated the mixin by hand and inserted its contents at each usage site.

I understand that is the point of mixin, as it exists today. It also seems like it isn't capable of what I want.

(I'll skip your example code here, since it has some problems and won't compile without significant changes.)

I'm not sure what issues you're having that are significant. I forgot to close a string, but the rest compiles and executes for me.

Doing this manually requires that some code be added to Inheritor. Using a mixin doesn't - and shouldn't - change this.

What I'm trying to get at is that I want to add behavior to a hierarchy. I know that I can get that done in a _really_ light example with a templated function, or in a heavier example by repeating my code. The problem with the former is that it doesn't actually cover my use case. The problem with the later is that any architect that sees that amount of repetition will likely start pulling their hair out. What are the reasons that mixin shouldn't be able to be used to change the behavior of a whole hierarchy?

Reply via email to