www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 5786] New: std.algorithm.sort does not work with std.container.Array: Range violation

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5786

           Summary: std.algorithm.sort does not work with
                    std.container.Array: Range violation
           Product: D
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody puremagic.com
        ReportedBy: jmdavisProg gmx.com



PDT ---
This program

import std.algorithm;
import std.container;

void main()
{
    Array!int arr;
    arr.insert([1, 7, 2, 8, 3]);
    sort(arr[]);
}

throws this AssertError when it runs:

core.exception.RangeError std.container(1709): Range violation
----------------
./test(onRangeError+0x28) [0x80b3ec8]
./test(_d_array_bounds+0x16) [0x80acc96]
./test(_D3std9container7__arrayZ+0x12) [0x80aec26]
./test(_D3std9container12__T5ArrayTiZ5Array5Range6moveAtMFkZi+0x95) [0x80a33a1]
./test(_D3std5range53__T6moveAtTS3std9container12__T5ArrayTiZ5Array5RangeZ6moveAtFS3std9container12__T5ArrayTiZ5Array5RangekZi+0x12)
[0x80a8f06]
./test(_D3std9algorithm53__T6swapAtTS3std9container12__T5ArrayTiZ5Array5RangeZ6swapAtFS3std9container12__T5ArrayTiZ5Array5RangekkZv+0x3e)
[0x80a8e9e]
./test(_D3std9algorithm168__T8sortImplS793std10functional54__T13binaryFunImplVAyaa5_61203c2062VAyaa1_61VAyaa1_62Z6resultVE3std9algorithm12SwapStrategy0TS3std9container12__T5ArrayTiZ5Array5RangeZ8sortImplFS3std9container12__T5ArrayTiZ5Array5RangeZv+0x61)
[0x80a8ca9]
./test(_D3std9algorithm99__T4sortVAyaa5_61203c2062VE3std9algorithm12SwapStrategy0TS3std9container12__T5ArrayTiZ5Array5RangeZ4sortFS3std9container12__T5ArrayTiZ5Array5RangeZS3std5range76__T11SortedRangeTS3std9container12__T5ArrayTiZ5Array5RangeVAyaa5_61203c2062Z11SortedRange+0x28)
[0x80a8718]
./test(_Dmain+0x56) [0x80a2aaa]
./test(_D2rt6dmain24mainUiPPaZi7runMainMFZv+0x1a) [0x80acdf6]
./test(_D2rt6dmain24mainUiPPaZi7tryExecMFMDFZvZv+0x20) [0x80acd88]
./test(_D2rt6dmain24mainUiPPaZi6runAllMFZv+0x32) [0x80ace3a]
./test(_D2rt6dmain24mainUiPPaZi7tryExecMFMDFZvZv+0x20) [0x80acd88]
./test(main+0x94) [0x80acd34]
/usr/lib32/libc.so.6(__libc_start_main+0xe6) [0xf758bdb6]
./test() [0x80a29a1]

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 27 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5786


kennytm gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kennytm gmail.com
            Version|unspecified                 |D2



The function which emits the error is


        T moveAt(size_t i)
        {
            i += _a;
            enforce(i < _b && !empty);
            return move(_outer._data._payload[_a + i]);    // <---
        }


That line should really read


            return move(_outer._data._payload[i]);

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 27 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5786


Andrei Alexandrescu <andrei metalanguage.com> changed:

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



12:11:43 PDT ---
Thanks Jonathan for reporting and Kenny for finding this bug.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 28 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5786


SomeDude <lovelydear mailmetrash.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lovelydear mailmetrash.com



PDT ---
Compiles and runs fine with 2.059 Win32.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 23 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5786


Jonathan M Davis <jmdavisProg gmx.com> changed:

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


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