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()?

Reply via email to