[Issue 9253] New: Review Phobos algorithms and make them transient-safe where possible
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jan 1 12:09:57 PST 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9253
Summary: Review Phobos algorithms and make them transient-safe
where possible
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: nobody at puremagic.com
ReportedBy: hsteoh at quickfur.ath.cx
--- Comment #0 from hsteoh at quickfur.ath.cx 2013-01-01 12:09:55 PST ---
This bug is to have a central place to keep the list of Phobos algorithms found
to be transient-incompatible but could potentially be made
transient-compatible, so that the list doesn't get lost in the dust of forum
history.
- std.algorithm.reduce (when no seed is given)
- std.algorithm.joiner (both variants have been fixed in git HEAD)
- std.algorithm.group
- std.algorithm.minCount
- std.algorithm.minPos (takes forward range; should use .save)
- std.algorithm.Levenshtein (takes forward range; should use .save)
- std.algorithm.makeIndex (takes forward range; should use .save)
- std.algorithm.splitter (takes slices without checking for isSlicable)
- std.algorithm.topNCopy
- std.algorithm.NWayUnion
- std.array.array (probably not fixable)
- std.array.insertInPlace (probably not fixable)
- std.array.join (copies input range; may not be fixable)
- std.stdio.writeln & friends (need more testing, there are some deep bits that
fail with transient ranges)
While the whole transience issue hasn't been decided yet, Andrei has agreed
that those algorithms that *can* be made transience-compatible, should be. The
fate of the rest will be determined when this issue has been decided on.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list