// COMPILE_SEPARATELY:
// EXTRA_SOURCES: imports/bug10425.d

import imports.bug10425;

void main()
{
    auto ti = typeid(A!());
    /* Today, taking TypeInfo object address by using `typeid` always generates
     * the TypeInfo object on comdat section (done by TypeInfoDeclaration::toObjFile),
     * even if the associated struct belongs *non-root modules*.
     *
     * And, from 2.062, https://issues.dlang.org/show_bug.cgi?id=7511 is implemented.
     * The attribute inference for member functions in instantiated struct may modify
     * their actual mangled names. Then TypeInfo object compiled in this module would
     * use wrong symbol names, to link non-template opEquals/opCmp/toHash/toString
     * member functions.
     *
     * To fix the issue, we should run semantic3 to calculate the correct symbol names
     * of the specific member functions.
     */
}
