================ @@ -1222,33 +1214,31 @@ One often reported example is: export module repro; export import :part; -Currently the compiler complains about the inconsistent definition of `fun()` in -2 module units. This is incorrect. Since both definitions of `fun()` has the same -spelling and `T` refers to the same type entity finally. So the program should be -fine. - -This is tracked in https://github.com/llvm/llvm-project/issues/78850. +Currently the compiler incorrectly diagnoses the inconsistent definition of +``fun()`` in two module units. Because both definitions of ``fun()`` have the +same spelling and ``T`` refers to the same type entity, so there is no ODR +violation. This is tracked by +`#78850 <https://github.com/llvm/llvm-project/issues/78850>`_. Using TU-local entity in other units ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Module units are translation units. So the entities which should only be local to the -module unit itself shouldn't be used by other units in any means. +Module units are translation units, so the entities which should be local to +the module unit itself should never be used by other units. -In the language side, to address the idea formally, the language specification defines -the concept of ``TU-local`` and ``exposure`` in +The C++ standard defines the concept of ``TU-local`` and ``exposure`` in `basic.link/p14 <https://eel.is/c++draft/basic.link#14>`_, `basic.link/p15 <https://eel.is/c++draft/basic.link#15>`_, `basic.link/p16 <https://eel.is/c++draft/basic.link#16>`_, -`basic.link/p17 <https://eel.is/c++draft/basic.link#17>`_ and +`basic.link/p17 <https://eel.is/c++draft/basic.link#17>`_, and `basic.link/p18 <https://eel.is/c++draft/basic.link#18>`_. -However, the compiler doesn't support these 2 ideas formally. -This results in unclear and confusing diagnostic messages. -And it is worse that the compiler may import TU-local entities to other units without any -diagnostics. +However, Clang doesn't formally support these two ideas. This results in +unclear or confusing diagnostic messages. Further, Clang may import TU-local ---------------- erichkeane wrote:
```suggestion unclear or confusing diagnostic messages. Further, Clang may import ``TU-local`` ``` https://github.com/llvm/llvm-project/pull/90237 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits