GC-safe memory copying for D

Robert Jacques sandford at jhu.edu
Fri Mar 2 07:25:31 PST 2012


On Fri, 02 Mar 2012 08:13:00 -0600, Denis Shelomovskij  
<verylonglogin.reg at gmail.com> wrote:

> Even `memcpy` is claimed dangerous at http://dlang.org/garbage.html
> (because of possibility of moving GC, I suppose) but it just creates  
> false positives for GC. `memmove` can even temporary destroy pointers in  
> some overlapping cases like Google answer on "Lucky" `memmove source  
> code` request does.
>
> So I reinvented the wheel and created GC-safe `memmove` analog called  
> `copyOverlapped` with comprehensive unittest coverage:
> https://bitbucket.org/denis_sh/misc/src/tip/memutils.d
>
> And I want this or such function to be included in druntime and be used  
> in Phobos because using `memcpy`/`memmove` when even `memcpy` is called  
> dangerous in docs looks incorrect and easily fixable.
>
> P.S.
> This post is inspired by bearophile's unanswered post titled  "Regarding  
> a recent copy() fix" about really mysterious David Simcha's answer about  
> `memmove`
> http://d.puremagic.com/issues/show_bug.cgi?id=7484#c2

Is this CTFE compatible?


More information about the Digitalmars-d mailing list