[Issue 1170] Cannot forward reference a type defined in a MixinStatement

2019-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
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

2019-05-24 Thread d-bugmail--- via Digitalmars-d-bugs
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

2016-10-21 Thread via Digitalmars-d-bugs
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

2009-09-23 Thread d-bugmail
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

2009-09-23 Thread d-bugmail
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

2009-09-29 Thread d-bugmail
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

2009-09-29 Thread d-bugmail
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

2009-10-13 Thread d-bugmail
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

2009-10-13 Thread d-bugmail
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

2010-02-23 Thread d-bugmail
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

2011-02-08 Thread d-bugmail
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

2011-02-09 Thread d-bugmail
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

2013-11-22 Thread d-bugmail
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

2013-11-22 Thread d-bugmail
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: ---