On Mon, Jul 30, 2012 at 8:31 PM, Stuart <stugol@gmx.com> wrote:
I'm trying to write an actual program in D, but no matter what I do I get stupid errors that mean nothing to me. (Reminds me of C++)

   Error 42: Symbol Undefined
   _D8infinity8standard7runtime4IApp4IApp11__InterfaceZ

Huh? This usually happens if I omit the module statement at the top of EVERY DAMN FILE (why???) but in this case I haven't omitted it, yet I'm still getting the error.

Also, I get the following error:

   Error 42: Symbol Undefined
   _D3dfl8internal6winapi12__ModuleInfoZ

The code producing this second error is:

        int Run() {
                import core.sys.windows.windows;
                import dfl.internal.winapi;
                MSG msg;
                while (GetMessageA(&msg, null, 0, 0)) {
                        TranslateMessage(&msg);
                        DispatchMessageA(&msg);
                        if (msg.hwnd && !IsWindow(msg.hwnd)) break;
                }
                return 0;
        }

What the HELL is this "ModuleInfo", why is it necessary, why is it always missing when a "module" statement is not present, and why is it missing NOW?

For one, it would be mighty polite of the compiler to demangle the "_D8infinity8standard7runtime4IApp4IApp11__InterfaceZ", which happens to be "infinity.standard.runtime.App.App.__Interface".

The ModuleInfo is a half-working runtime reflection structure, which the compiler successfully fails to build when you omit the optional module declaration.

--
Bye,
Gor Gyolchanyan.