[Issue 23722] Lambdas are mangled incorrectly when using multiple compilation units, resulting in incorrect code

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Dec 4 10:24:19 UTC 2024


https://issues.dlang.org/show_bug.cgi?id=23722

ilya.yanok at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Hardware|All                         |x86_64
                 OS|All                         |Linux

--- Comment #10 from ilya.yanok at gmail.com ---
(In reply to Dennis from comment #9)
> There's still a linker error from neither module emitting the symbol in the
> original test case, and when locations are identical (e.g. static foreach),
> there's still a global non-deterministic counter being used. See:
> https://github.com/dlang/dmd/pull/15343#issuecomment-2491003102

The leftover symbol instability should be fixed by
https://github.com/dlang/dmd/pull/17102 (static foreach will still get a
counter, but I believe it *is* deterministic).

Should we file a more specific bug for cross-module aliases not getting
emitted? Since this one seems to be focused on lambdas' symbols and I think the
rest of the problem has nothing to do with them.

--


More information about the Digitalmars-d-bugs mailing list