| // 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, issue 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. |
| */ |
| } |