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









Les De Ridder <les lesderid.net> 