On 8/31/21 11:17 AM, Paul Backus wrote:
On Tuesday, 31 August 2021 at 14:09:01 UTC, Steven Schveighoffer wrote:

Are you sure this is the problem? `PdfSurface` is not a valid identifier here except for the class. In order to access the package, you need to use `cairo.PdfSurface`.

Must've changed since you last checked:

```d
// main.d
import example;

void main()
{
    // Error: incompatible types for `(module example) == (42)`: `void` and `int`
     assert(example == 42);
}
```
```d
// example.d
int example = 42;
```

https://run.dlang.io/is/SpEZNF


That is a top-level module that has an equivalent name inside. I did say "*as long as* it wasn't a top-level module"

```d
// main.d
import pkg.mod;

void main()
{
   assert mod = 42;
}

// example.d
module pkg.mod;
int mod = 42;
```

works fine

https://run.dlang.io/is/sQ4Bsa

This is why I always try to use a top-level package instead of a module (especially with a common name).

-Steve

Reply via email to