[Issue 20072] [2.087.0] Mixin templates: no property `somevar` for type `some.Type`, did you mean `some.Type.__anonymous.somevar`?

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Jul 22 15:15:30 UTC 2019


https://issues.dlang.org/show_bug.cgi?id=20072

--- Comment #1 from Ethan Watson <gooberman at gmail.com> ---
Turned on deprecations as warnings in 2.086.1. Looks like this stuff has been
broken for a while.

For example:

Deprecation: `smithy.editor.server.Server.__anonymous.m_registry` is not
visible from module `smithy.editor.common.behaviors.registry`

It is mixed in to smithy.editor.server.Server with a template like this:

mixin template Registry()
{
        package( smithy.editor ) SmithyObjectRegistry   m_registry;
}

And just to make sure, the function that tries to access m_registry does
something like this:

module smithy.editor.common.behaviors.registry;
package( smithy ) auto createImpl( ServerType, Params... )( ServerType server,
Params params )
{
        import std.traits : moduleName;
        mixin( "import " ~ moduleName!ServerType ~ ";" );
        // Rest of code follows here...
}

Basically, there's no way that m_registry shouldn't be visible at this point.

--


More information about the Digitalmars-d-bugs mailing list