[Issue 1170] Cannot forward reference a type defined in a MixinStatement
https://issues.dlang.org/show_bug.cgi?id=1170 Dlang Bot changed: What|Removed |Added Keywords||pull --- Comment #12 from Dlang Bot --- @RazvanN7 created dlang/dmd pull request #9873 "Fix Issue 1170 - Cannot forward reference a type defined in a MixinStatement" fixing this issue: - Fix Issue 1170 - Cannot forward reference a type defined in a MixinStatement https://github.com/dlang/dmd/pull/9873 --
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
https://issues.dlang.org/show_bug.cgi?id=1170 Dlang Bot changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #13 from Dlang Bot --- dlang/dmd pull request #9873 "Fix Issue 1170 - Cannot forward reference a type defined in a MixinStatement" was merged into master: - 462fdccb04d93b37aebb02643253e281eb7e00e2 by RazvanN7: Fix Issue 1170 and 10739 - Cannot forward reference a type defined in a MixinStatement https://github.com/dlang/dmd/pull/9873 --
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
https://issues.dlang.org/show_bug.cgi?id=1170 anonymous4 changed: What|Removed |Added See Also||https://issues.dlang.org/sh ||ow_bug.cgi?id=9 --
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 --- Comment #1 from Rainer Schuetze 2009-09-23 13:55:32 PDT --- Created an attachment (id=464) invalidate symbol search cache when adding new symbol the problem in the test case consists of 2 issues. 1. the forward referencing of the type. this is fixed by the patch in issue 102 2. the new symbol not being found in the symbol table. This can be reproduced without triggering bug 102 by static if(is(type)) {} mixin("alias int type;"); type x; test.d(3): Error: identifier 'type' is not defined The problem is that the last symbol being searched in a module is cached to speed up consecutive lookups of the same symbol. When a symbol is added by the mixin, this cached result is not invalidated. The patch adds this invalidation. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 Rainer Schuetze changed: What|Removed |Added Keywords||patch CC||r.sagita...@gmx.de --- Comment #2 from Rainer Schuetze 2009-09-23 13:56:41 PDT --- patch is against 2.032 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #3 from Walter Bright 2009-09-29 15:09:39 PDT --- The patch doesn't work, even when I disable the cache completely. The reason it doesn't work is because mixins are evaluated at a later stage in the compilation process. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 --- Comment #4 from Rainer Schuetze 2009-09-29 23:51:07 PDT --- The patch only fixes the name lookup, not the forward reference. As described in comment 1, you'll also need the patch from issue 102 to completely fix the original test case. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 --- Comment #5 from Rainer Schuetze 2009-10-13 01:41:54 PDT --- As it seems, a patch has crawled into DMD 2.033 that is supposed to fix the second issue described in comment 1. This is line 887 in module.c (in dmd 2.034) else if (searchCacheIdent == ident && searchCacheFlags == flags && searchCacheSymbol) where searchCacheSymbol has been added to allow finding symbols that have been added after the last search. Though this fixes the issue, it has a bad impact on identifier lookup time, especially with a lot of imports, worst with cyclic imports. This is because with this change, not finding an identifier is always expensive, but it is the most common result. This has now shown up with qtd causing the build to lock-up with continuously searching identifiers. I'd still suggest a change along the lines of the patch posted in this issue. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 Eldar Insafutdinov changed: What|Removed |Added CC||e.insafutdi...@gmail.com --- Comment #6 from Eldar Insafutdinov 2009-10-13 15:04:26 PDT --- (In reply to comment #5) > As it seems, a patch has crawled into DMD 2.033 that is supposed to fix the > second issue described in comment 1. This is line 887 in module.c (in dmd > 2.034) > > else if (searchCacheIdent == ident && searchCacheFlags == flags && > searchCacheSymbol) > > where searchCacheSymbol has been added to allow finding symbols that have been > added after the last search. > > Though this fixes the issue, it has a bad impact on identifier lookup time, > especially with a lot of imports, worst with cyclic imports. This is because > with this change, not finding an identifier is always expensive, but it is the > most common result. > > This has now shown up with qtd causing the build to lock-up with continuously > searching identifiers. I'd still suggest a change along the lines of the > patch > posted in this issue. The applied patch in rev. 205 brought QtD back to life. Thank you. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 Jerry Quinn changed: What|Removed |Added CC||jlqu...@optonline.net --- Comment #7 from Jerry Quinn 2010-02-23 05:37:47 PST --- A related example that fails to compile: enum Y { A, B=mixin(s), C } const string s="4"; -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 Don changed: What|Removed |Added CC||clugd...@yahoo.com.au --- Comment #8 from Don 2011-02-08 04:37:34 PST --- The test case in comment 7 was fixed in 2.051 and 1.066. The original test case still doesn't work. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
http://d.puremagic.com/issues/show_bug.cgi?id=1170 Don changed: What|Removed |Added Keywords|patch | --- Comment #9 from Don 2011-02-09 02:53:22 PST --- I'm removing the 'patch' keyword, since even though the patches from here and from bug 102 have been applied, the original bug is not fixed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
https://d.puremagic.com/issues/show_bug.cgi?id=1170 Kenji Hara changed: What|Removed |Added CC||nfx...@gmail.com --- Comment #10 from Kenji Hara 2013-11-22 00:32:12 PST --- *** Issue 4226 has been marked as a duplicate of this issue. *** -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1170] Cannot forward reference a type defined in a MixinStatement
https://d.puremagic.com/issues/show_bug.cgi?id=1170 Kenji Hara changed: What|Removed |Added Platform|x86 |All Version|1.013 |D2 OS/Version|Windows |All Severity|normal |major --- Comment #11 from Kenji Hara 2013-11-22 00:34:00 PST --- Change to D2 issue, because D1 is no longer supported. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---