Hi, This list is mostly just a bugzilla feed and so isn't widely monitored. If you're confident the behaviour is a bug then it would be better to file a bugzilla ticket. If you're not sure and want to double-check what the correct behaviour is then it'd be better to ask on gcc-help.
Thanks, Richard Alexander Christensen via Gcc-bugs <gcc-bugs@gcc.gnu.org> writes: > Hi, > > This is a rather strange thing, which suspiciously looks like bug. I have a > file like this: > > ``` > export module engine.memory : align_type; > export import engine.core; > > export I32 get_5() > { > return 5; > } > > export namespace engine::memory > { > enum class AlignType : I32 > { > align_1 = 1, > align_2 = 2, > align_4 = 4, > align_8 = 8, > align_16 = 16, > align_32 = 32, > align_64 = 64, > align_128 = 128, > align_256 = 256 > }; > } > ``` > > I have another translation unit which then imports the module engine.memory. > That file can use the function get_5(), but whenever I try to use the > namespace engine.memory I get an error that that namespace has not been > defined. > > If I remove the `export import engine.core` then the namespace is suddenly > exported. (!) > > So there is an issue with namespaces being hidden (ie. non-exported) whenever > a module partition unit imports another module. It does not make any > difference if the imported module is export-import'ed or just imported. > > Best, > Alexander