Also, eliminating compile time dependencies between namespaces. Everything can import core.*, but nothing outside rt is allowed to import rt modules and nothing outside gc is allowed to import gc modules. This allows us to theoretically choose the compiler runtime and GC at link time and also allows us not to put this code in the import tree when distributing druntime. In short, extern (C) is often used because you can't forward declare extern (D) functions. It doesn't mean anything about the language used by the function.

Reply via email to