Thread overview
[Issue 6066] New: std.container: BinaryHeap interface is broken.
May 28, 2011
timon.gehr@gmx.ch
Jan 08, 2013
timon.gehr@gmx.ch
Jan 08, 2013
timon.gehr@gmx.ch
May 28, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6066

           Summary: std.container: BinaryHeap interface is broken.
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody@puremagic.com
        ReportedBy: timon.gehr@gmx.ch


--- Comment #0 from timon.gehr@gmx.ch 2011-05-28 03:05:00 PDT ---
From my code:

auto h=BinaryHeap!(typeof(s),"a.y<b.y")(s);

The two argument's order is reverse: the compiler can always infer the type but hardly the comparison predicate.

That the "convenience function" heapify does not take an optional comparison predicate does not make things any better.

Ideally, it should be possible to write:

auto h=heapify!"a.y<b.y"(s);

(As is consistent with Eg. sort.)

Therefore:
1. Ideally, the order of the two arguments for BinaryHeap should change.
2. heapify _really_ should take a comparison predicate as its first template
argument. This won't break code, because no sane D developer has explicitly
passed the type to heapify.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 28, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6066


Andrei Alexandrescu <andrei@metalanguage.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |andrei@metalanguage.com
         AssignedTo|nobody@puremagic.com        |andrei@metalanguage.com


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 08, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6066



--- Comment #1 from Andrei Alexandrescu <andrei@erdani.com> 2013-01-07 23:31:58 PST ---
https://github.com/D-Programming-Language/phobos/pull/1057

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 08, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6066


Alex Rønne Petersen <alex@lycus.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
                 CC|                            |alex@lycus.org
         Resolution|                            |FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 08, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6066


timon.gehr@gmx.ch changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


--- Comment #2 from timon.gehr@gmx.ch 2013-01-08 04:45:41 PST ---
That does not fix the problem.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 08, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6066


timon.gehr@gmx.ch changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED


--- Comment #3 from timon.gehr@gmx.ch 2013-01-08 04:46:49 PST ---
Oops. I misread. It fixes 2. That is probably good enough.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 11, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6066



--- Comment #4 from github-bugzilla@puremagic.com 2013-02-11 12:20:35 PST ---
Commits pushed to staging at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/2a87eded137499f5180609f58f53dc697c06a272 Issue 6066 - std.container: BinaryHeap interface is broken.

https://github.com/D-Programming-Language/phobos/commit/1878535f96885825ad5dddf53670a632c244dc24 Merge pull request #1057 from andralex/6066

Issue 6066 - std.container: BinaryHeap interface is broken.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 12, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=6066



--- Comment #5 from github-bugzilla@puremagic.com 2013-02-11 23:13:38 PST ---
Commits pushed to https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/2a87eded137499f5180609f58f53dc697c06a272 Issue 6066 - std.container: BinaryHeap interface is broken.

https://github.com/D-Programming-Language/phobos/commit/1878535f96885825ad5dddf53670a632c244dc24 Merge pull request #1057 from andralex/6066

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