Thread overview
[Issue 24830] separate compilation + circular deps + templated opCmp = missing symbols
Oct 23
Dlang Bot
Oct 23
Dlang Bot
October 23
https://issues.dlang.org/show_bug.cgi?id=24830

--- Comment #1 from ilya.yanok@gmail.com ---
This happens since even though while processing the second `Option!string` instantiation we try to update the `minst` of all children to the root module, it fails to update the automatically generated `__xopCmp` method (and friends). I have a fix and currently am working on the test case. I'll send a PR soon.

--
October 23
https://issues.dlang.org/show_bug.cgi?id=24830

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
@yanok updated dlang/dmd pull request #17022 "dsymbolsem/InstMemberWalker: also visit generated structs' members" fixing this issue:

- dsymbolsem/InstMemberWalker: also visit generated structs' members

  While updating children's `minst` only going over `members` is not
  enough: structs may also have generated methods that are not in
  `members`.

  As a result, if a generated method instantiates a template, it gets a
  poentially wrong `minst`, so can be omitted from the compilation result.

  Fixes Bugzilla Issue 24830.

https://github.com/dlang/dmd/pull/17022

--
October 23
https://issues.dlang.org/show_bug.cgi?id=24830

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #17022 "dsymbolsem/InstMemberWalker: also visit generated structs' members" was merged into master:

- 1f98c6b69854348a271b9cd1314f77822f875f77 by Ilya Yanok:
  dsymbolsem/InstMemberWalker: also visit generated structs' members

  While updating children's `minst` only going over `members` is not
  enough: structs may also have generated methods that are not in
  `members`.

  As a result, if a generated method instantiates a template, it gets a
  poentially wrong `minst`, so can be omitted from the compilation result.

  Fixes Bugzilla Issue 24830.

https://github.com/dlang/dmd/pull/17022

--