Mercurial > projects > ldc
view runtime/internal/typeinfo/ti_dchar.d @ 1328:c78fd2d30da1
Changed array slice copying to call a runtime function when assertions or array bound checks are enabled instead of just doing a memcpy. This makes sure an exception is thrown if the copy is invalid (ie. different lengths or overlap). Fixes ticket #283 . Rebuilding the runtime is necessary.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sun, 10 May 2009 02:23:05 +0200 |
parents | 44f08170f4ef |
children |
line wrap: on
line source
// dchar module typeinfo.ti_dchar; class TypeInfo_w : TypeInfo { char[] toString() { return "dchar"; } hash_t getHash(void *p) { return *cast(dchar *)p; } int equals(void *p1, void *p2) { return *cast(dchar *)p1 == *cast(dchar *)p2; } int compare(void *p1, void *p2) { return *cast(dchar *)p1 - *cast(dchar *)p2; } size_t tsize() { return dchar.sizeof; } void swap(void *p1, void *p2) { dchar t; t = *cast(dchar *)p1; *cast(dchar *)p1 = *cast(dchar *)p2; *cast(dchar *)p2 = t; } void[] init() { static dchar c; return (cast(dchar *)&c)[0 .. 1]; } }