Thread overview | |||||
---|---|---|---|---|---|
|
April 23, 2013 Mixin bug / unhelpful behavior? | ||||
---|---|---|---|---|
| ||||
Consider the following code: mixin template Bar() { void Bar() {}; } void mixin_ok() { mixin Bar; Bar(); } void mixin_not_defined_ok() { mixin UndefinedMixin; // OK, compile-time error } void mixin_not_defined_bug()() { mixin UndefinedMixin; // No error, unless mixin_not_defined_bug is called. Bug? } void mixin_alias() { alias Foo = Bar; mixin Foo; //Foo(); // error: template instance Bar!() mixin templates are not regular templates Bar(); // ok, but not very helpful } Questions: 1) Is it a bug that mixin_not_defined_bug does not produce a compile-time error, unless it is called? (DMD64 v2.062, OS X) 2) Wouldn't it make be helpful if "Foo()" did the same thing as Bar()? |
April 23, 2013 Re: Mixin bug / unhelpful behavior? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Luís Marques | Luís Marques: > 1) Is it a bug that mixin_not_defined_bug does not produce a compile-time error, unless it is called? (DMD64 v2.062, OS X) I think that here D is working according to its current specs. On the other hand this topic was recently discussed and despite Andrei the consensus seems that such error situations should be found by the D compiler. There is an enhancement request on this, I like it, and Walter seems to like the idea. > 2) Wouldn't it make be helpful if "Foo()" did the same thing as Bar()? Mixin templates are a relatively new feature and maybe that alias use case was not considered, or it was not regarded as important. What are your use cases of aliasing a mixing template? Bye, bearophile |
April 24, 2013 Re: Mixin bug / unhelpful behavior? | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On Tuesday, 23 April 2013 at 23:25:11 UTC, bearophile wrote:
> Mixin templates are a relatively new feature and maybe that alias use case was not considered, or it was not regarded as important. What are your use cases of aliasing a mixing template?
I'm going to post it in a new thread.
|
Copyright © 1999-2021 by the D Language Foundation