Thread overview
[phobos] phobos commit, revision 2180
Nov 18, 2010
dsource.org
Dec 30, 2010
Martin Nowak
Jan 03, 2011
Brad Roberts
November 18, 2010
phobos commit, revision 2180


user: rsinfu

msg:
Made std.algorithm.swap "@trusted pure nothrow".

Also some minor fixes:
* Made parameter names consistent with ddoc: lhs and rhs.
* 'memcpy' only when T has a non-trivial assignment, i.e. when T defines postblit, destructor and/or opAssign.
* 3-space indent -> 4-space.

http://www.dsource.org/projects/phobos/changeset/2180

December 30, 2010
Hi,
I think this actually introduced a subtle bug.
When calling swap with two identical instances of a struct with elaborate
assign,
_d_arraycopy throws an exception due to memory overlap.
This can happen with the sort algorithm for example.

Martin


On Thu, 18 Nov 2010 22:26:12 +0100, dsource.org <noreply at dsource.org> wrote:

> phobos commit, revision 2180
>
>
> user: rsinfu
>
> msg:
> Made std.algorithm.swap "@trusted pure nothrow".
>
> Also some minor fixes:
> * Made parameter names consistent with ddoc: lhs and rhs.
> * 'memcpy' only when T has a non-trivial assignment, i.e. when T defines
> postblit, destructor and/or opAssign.
> * 3-space indent -> 4-space.
>
> http://www.dsource.org/projects/phobos/changeset/2180
-------------- next part --------------
A non-text attachment was scrubbed...
Name: swap.patch
Type: application/octet-stream
Size: 1377 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/phobos/attachments/20101230/0c284b89/attachment.obj>
January 02, 2011
I don't think this has been fixed yet.  Please file a bug report so that it doesn't get lost.

On 12/29/2010 9:14 PM, Martin Nowak wrote:
> Hi,
> I think this actually introduced a subtle bug.
> When calling swap with two identical instances of a struct with elaborate
> assign,
> _d_arraycopy throws an exception due to memory overlap.
> This can happen with the sort algorithm for example.
> 
> Martin
> 
> 
> On Thu, 18 Nov 2010 22:26:12 +0100, dsource.org <noreply at dsource.org> wrote:
> 
>> phobos commit, revision 2180
>>
>>
>> user: rsinfu
>>
>> msg:
>> Made std.algorithm.swap "@trusted pure nothrow".
>>
>> Also some minor fixes:
>> * Made parameter names consistent with ddoc: lhs and rhs.
>> * 'memcpy' only when T has a non-trivial assignment, i.e. when T defines
>> postblit, destructor and/or opAssign.
>> * 3-space indent -> 4-space.
>>
>> http://www.dsource.org/projects/phobos/changeset/2180
> 
> 
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos