Regular Templates May Be `mixin`d?

2021-10-02 Thread surlymoor via Digitalmars-d-learn
```d // Modified sixth example from https://dlang.org/spec/template-mixin.html int y = 3; template Foo() { int abc() { return y; } } void main() { int y = 8; mixin Foo; // local y is picked up, not global y assert(abc() == 8); } ``` This compiles and works. I checked the spec,

Re: Regular Templates May Be `mixin`d?

2021-10-02 Thread Paul Backus via Digitalmars-d-learn
On Sunday, 3 October 2021 at 02:52:20 UTC, surlymoor wrote: This compiles and works. I checked the spec, and I don't see anything; probably missed it, however; mentioning the fact that regular templates may be used with `mixin`. Is this expected? Yes, this is intentional and expected. From the

Re: Regular Templates May Be `mixin`d?

2021-10-02 Thread surlymoor via Digitalmars-d-learn
On Sunday, 3 October 2021 at 03:04:29 UTC, Paul Backus wrote: On Sunday, 3 October 2021 at 02:52:20 UTC, surlymoor wrote: This compiles and works. I checked the spec, and I don't see anything; probably missed it, however; mentioning the fact that regular templates may be used with `mixin`. Is t

Re: Regular Templates May Be `mixin`d?

2021-10-03 Thread Paul Backus via Digitalmars-d-learn
On Sunday, 3 October 2021 at 03:34:19 UTC, surlymoor wrote: Lord, I'm careless. Thanks. So the difference between a `mixin template` and a regular one is that the former may only be used with a `mixin` statement? Yes, exactly.