**app.d**:
```
module app;
import core.stdc.math : fabs;
import b : b;
void fabs(const string s) {
}
void main() {
}
```
**b.d**:
```
module b;
import app : fabs;
void b() {
fabs("");
}
```
Compile with `dmd app.d`.
There should be no compile errors. Instead there is:
```
b.d(3): Error: module app member fabs is not visible from module b
```
There is no such error is you remove the `fabs` import in `app.d` or you move the import in `b.d` into `void b`.
There is also no such error if you compile using `dmd b.d app.d` instead.
Comment #1 by robert.schadek — 2024-12-13T19:08:04Z