mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-02 11:22:19 +00:00
![]() Prior to this commit, if you had a module structure like ``` | - A.roc | - Dep | - B.roc ``` where `B.roc` was defined as ``` interface B exposes [] imports [] ``` and `A.roc` was defined as ``` interface A exposes [] imports [Dep.B] ``` The compiler would hang on you. The reason is that even though we expect `B` to be named `Dep.B` relative to `A`, that would not be enforced. With this patch, we now enforce such naming schemes - a module must have the namespaced name it is referenced by. Currently, we determine the expected namespaced name by looking at how transitive dependencies of the root module reference the module. In the future, once we have a package ecosystem and a solid idea of "package roots", we can use the "package root" to determine how a module should be named. Closes #4094 |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |