This is one of two issues that I believe have been harassing me all day, night, and early morning with mixins. Forward declare a function in an object. Mixin an implementation. Try to call it. Unresolved symbol.
Created attachment 1757 [details] Code example
This isn't a bug, it is intended behavior. A mixin shouldn't overwrite a function in that way. Mixins aren't macros, they have limitations so that it doesn't unexpectedly change the meaning of something else. Just don't include the forward declare. But something tells me you want to have that behavior, such that forward declare would link to an external C++ function or something, unless that mixin defines the function of the body. It would then link to the D version?
Yes, as jacob has mentioned this is intended behavior.