https://d.puremagic.com/issues/show_bug.cgi?id=8899


Kenji Hara <k.hara...@gmail.com> changed:

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


--- Comment #3 from Kenji Hara <k.hara...@gmail.com> 2013-11-21 23:02:59 PST ---
(In reply to comment #0)
> Probably the bug comes from how dmd arranges code generation. If main.d
> includes std.string (or other heavily templated module) it is forced to
> instantiate templates when it generates code for main module even if they are
> irrelevant. However, because main imports test, it instantiates map template
> and generates delegate before code of test function is generated. 
>
[snip]
> ------------------------
> So, probably the problem is in generating delegate before generating function
> which local variables are accessed by delegate. 

Import graph dependent lambda code generation bug is mostly fixed in 2.064 (eg.
bug 10857). And with 2.064, the OP code (main.d + test.d + -version=bug) does
not cause any runtime problem. So the issue seems to be fixed already.

> This issue summarizes information from following issues:
> - issue 8514 : delegate and map leads to segfault, importing standard module 
> affects
> behavior
> - issue 8854 : as described above 
> - issue 8832 : similar code which uses map and delegate has different and 
> incorrect
> behavior
> - issue 5064 (???): program crashes when using map and delegate
> - issue 7978 : map, take and iota functions with delegates

All of listed issues are fixed right now.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to