February 06, 2019
https://issues.dlang.org/show_bug.cgi?id=19657

          Issue ID: 19657
           Summary: D compiler fails to resolve circular module dependency
                    when modules are compiled together
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: puneet@coverify.org

Created attachment 1731
  --> https://issues.dlang.org/attachment.cgi?id=1731&action=edit
Tar Gzipped code

Test case attached as tar gzipped file.

Related to bug 19656. But here the bug appears when the modules are compiled together in a particular order. No error when compiling the modules separately.

$ for i in *.d; do dmd -c $i; done # compiles without issue
$ dmd -c seq.d foo.d frop.d pol.d trump.d bar.d baz.d # no issue
$ dmd -c foo.d frop.d pol.d trump.d bar.d baz.d seq.d
frop.d(5): Error: function bool frop.frop.func(foo rhs, bar bee) does not
override any function, did you mean to override bool foo.foo.func(foo rhs, bar
bee)?

--