[Issue 8899] Erroneous delegate usage and map template
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Nov 21 23:03:13 PST 2013
https://d.puremagic.com/issues/show_bug.cgi?id=8899
Kenji Hara <k.hara.pg at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |WORKSFORME
--- Comment #3 from Kenji Hara <k.hara.pg at 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: -------
More information about the Digitalmars-d-bugs
mailing list