February 26, 2021 [Issue 10619] Ambiguous mangling of local variable alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 Issue 10619 depends on issue 14831, which changed state. Issue 14831 Summary: Each function local symbols should have unique mangled name https://issues.dlang.org/show_bug.cgi?id=14831 What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|WORKSFORME |--- -- |
February 26, 2021 [Issue 10619] Ambiguous mangling of local variable alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 moonlightsentinel@disroot.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |moonlightsentinel@disroot.o | |rg Resolution|DUPLICATE |--- --- Comment #7 from moonlightsentinel@disroot.org --- This issue remains when when (static) variables receive different manglings (see [1][2]). The problem is that the compiler treats those template instances as duplicates due to the bug in `Dsymbol.equals`. [1] https://github.com/dlang/dmd/pull/12119 [2] https://github.com/dlang/dmd/pull/12235 -- |
February 26, 2021 [Issue 10619] Wrong local variable passed as alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 moonlightsentinel@disroot.org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Ambiguous mangling of local |Wrong local variable passed |variable alias arguments to |as alias arguments to |templates |templates -- |
February 27, 2021 [Issue 10619] Wrong local variable passed as alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 Dlang Bot <dlang-bot@dlang.rocks> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull --- Comment #8 from Dlang Bot <dlang-bot@dlang.rocks> --- @MoonlightSentinel updated dlang/dmd pull request #12236 "Fix 10619 - Wrong local variable passed as alias arguments to templates" fixing this issue: - Fix 10619 - Wrong local variable passed as alias arguments to templates PR #12119 introduced `localNum` to differentiate between multiple symbols with identical names. But `Dsymbol.equals` doesn't consider this variable when comparing two Dsymbols. This caused template semantic to treat the second instantiation of `foo` as a duplice in the following example: ```d void main() { { int x = 1; foo!x(); } { int x = 2; foo!x(); } } ``` https://github.com/dlang/dmd/pull/12236 -- |
February 27, 2021 [Issue 10619] Wrong local variable passed as alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 Ketmar Dark <ketmar@ketmar.no-ip.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ketmar@ketmar.no-ip.org -- |
February 28, 2021 [Issue 10619] Wrong local variable passed as alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 Dlang Bot <dlang-bot@dlang.rocks> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED --- Comment #9 from Dlang Bot <dlang-bot@dlang.rocks> --- dlang/dmd pull request #12236 "Fix 10619 - Wrong local variable passed as alias arguments to templates" was merged into stable: - 9f980f52e6d798c06e6b7da55e12cf25882cc757 by MoonlightSentinel: Fix 10619 - Wrong local variable passed as alias arguments to templates PR #12119 introduced `localNum` to differentiate between multiple symbols with identical names. But `Dsymbol.equals` doesn't consider this variable when comparing two Dsymbols. This caused template semantic to treat the second instantiation of `foo` as a duplice in the following example: ```d void main() { { int x = 1; foo!x(); } { int x = 2; foo!x(); } } ``` https://github.com/dlang/dmd/pull/12236 -- |
March 01, 2021 [Issue 10619] Wrong local variable passed as alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 Issue 10619 depends on issue 14831, which changed state. Issue 14831 Summary: Each function local symbols should have unique mangled name https://issues.dlang.org/show_bug.cgi?id=14831 What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED -- |
March 06, 2021 [Issue 10619] Wrong local variable passed as alias arguments to templates | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=10619 --- Comment #10 from Dlang Bot <dlang-bot@dlang.rocks> --- dlang/dmd pull request #12253 "merge stable" was merged into master: - 0c2d8bd2abf22476acf98065252559145c481fef by MoonlightSentinel: Fix 10619 - Wrong local variable passed as alias arguments to templates PR #12119 introduced `localNum` to differentiate between multiple symbols with identical names. But `Dsymbol.equals` doesn't consider this variable when comparing two Dsymbols. This caused template semantic to treat the second instantiation of `foo` as a duplice in the following example: ```d void main() { { int x = 1; foo!x(); } { int x = 2; foo!x(); } } ``` https://github.com/dlang/dmd/pull/12253 -- |
Copyright © 1999-2021 by the D Language Foundation