September 02, 2021
https://issues.dlang.org/show_bug.cgi?id=22268

          Issue ID: 22268
           Summary: rdmd does not track dependencies properly for
                    --extra-file
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: deadalnix@gmail.com

$ rdmd -m64 -Isrc -w -debug -g -unittest -i --extra-file=src/module1.d --extra-file=src/module2.d --eval="/* Do nothing */"

This run, while properly running the unittests in the proper modules, will generate a faulty dependency file that only contain standard library and druntime stuff.

The same happens when using a module instead an --eval, in which case, only the dependency of that module are tracked properly, and the dependencies of the modules added via --extra-file remain untracked.

This is a major issue as it leads rdmd to reuse cache entries when it shouldn't and run outdated code.

--