October 14, 2022
https://issues.dlang.org/show_bug.cgi?id=23414

          Issue ID: 23414
           Summary: Import order emits "Error: no size because of forward
                    references"
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: alphaglosined@gmail.com

ldc2 1.30.0-beta1 which is dmd v2.100.0. Windows MSVC 64bit.

Depending on import order I am getting a lot of: "Error: no size because of forward references".

Works:

```d
import sidero.base.text.unicode.builder;
import sidero.base.text.unicode.readonly;
```

Doesn't:

```d
import sidero.base.text.unicode.readonly;
import sidero.base.text.unicode.builder;
```

Both modules in question import each other but neither depends on the other for their size of any type (but are used for method parameters).

https://github.com/Project-Sidero/basic_memory/commit/bf45c72c3840bf57ad33acfacfaa1d87f6c831a9#diff-cf3c4ca35e19d963f077c9d3af6f4bbb806d6123715dc22a1b1cb53fea609859R5

I am using a lot of scope and scope + ref in parameters, so this could be related to https://issues.dlang.org/show_bug.cgi?id=21667

--