BinaryHeap crashes upon insertion if heapified with an array of length 1?
Michael Coulombe via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Apr 9 06:31:05 PDT 2017
On Sunday, 9 April 2017 at 00:36:00 UTC, TheGag96 wrote:
> I'm trying to use a binary heap initialized with one element.
> However, this always seems to cause a range violation for some
> reason. This small example will do it:
>
> import std.stdio, std.container;
>
> void main() {
> auto pq = heapify([5]);
> pq.insert(8);
> }
>
> ...And it produces this error: https://pastebin.com/dyLNRz2W
>
> Oddly enough, if I heapify an array with any other length than
> 1, I can insert as much as I want (that includes an empty
> array!). Is this a bug in Phobos or some odd expected behavior?
> Thanks guys!
This is a bug in the insert method. I created a bug report for
you and submitted a pull request for a fix:
https://issues.dlang.org/show_bug.cgi?id=17314
More information about the Digitalmars-d-learn
mailing list