digitalmars.D - Template Inheritance?
- Jean-Louis Leroy (16/16) Apr 12 2020 Today I came across a use case for template inheritance:
- Les De Ridder (4/19) Apr 12 2020 I can't think of a reason to allow this other than (subjectively)
- bauss (4/20) Apr 15 2020 The only thing I can see this leading to is:
Today I came across a use case for template inheritance: template Namespace(N) { alias functions = ...; // using getMembers and getOverloads } template Aggregate(A) : Namespace(A) { // aggregate specific stuff, e.g.: alias base = ...; } template Module(M) : Namespace(M) { // module specific stuff } Has this ever been considered? I used a mixin template to get the effect I want...
Apr 12 2020
On Sunday, 12 April 2020 at 17:12:01 UTC, Jean-Louis Leroy wrote:Today I came across a use case for template inheritance: template Namespace(N) { alias functions = ...; // using getMembers and getOverloads } template Aggregate(A) : Namespace(A) { // aggregate specific stuff, e.g.: alias base = ...; } template Module(M) : Namespace(M) { // module specific stuff } Has this ever been considered?I can't think of a reason to allow this other than (subjectively) easier code reuse, so I'm not sure this warrants a language feature.
Apr 12 2020
On Sunday, 12 April 2020 at 17:12:01 UTC, Jean-Louis Leroy wrote:Today I came across a use case for template inheritance: template Namespace(N) { alias functions = ...; // using getMembers and getOverloads } template Aggregate(A) : Namespace(A) { // aggregate specific stuff, e.g.: alias base = ...; } template Module(M) : Namespace(M) { // module specific stuff } Has this ever been considered? I used a mixin template to get the effect I want...The only thing I can see this leading to is: Massive template abuse and even more obscure template error messages.
Apr 15 2020