Eponymous template member from a template mixin

Jonathan M Davis newsgroup.d at jmdavisprog.com
Sat Aug 4 21:32:14 UTC 2018


On Saturday, August 04, 2018 17:10:32 Steven Schveighoffer via Digitalmars-
d-learn wrote:
> On 8/4/18 4:10 PM, Yuxuan Shui wrote:
> > This doesn't work:
> >
> > template A() {
> >
> >      void B() {};
> >
> > }
> > template B() {
> >
> >      mixin A!();
> >
> > }
> > void main() {
> >
> >      B!()();
> >
> > }
> >
> > Is this intentional?
>
> I believe mixin templates introduce a new symbol namespace to a degree.
> I doubt you would be able to do something like this.

A prime example of this is how you can't introduce function overloads with a
template mixin.

- Jonathan M Davis



More information about the Digitalmars-d-learn mailing list