Replacing AA's in druntime
Steven Schveighoffer
schveiguy at yahoo.com
Thu Mar 15 03:48:46 PDT 2012
On Wed, 14 Mar 2012 19:20:43 -0400, Jakob Bornecrantz
<wallbraker at gmail.com> wrote:
> On Wednesday, 14 March 2012 at 14:02:30 UTC, Steven Schveighoffer wrote:
>>
>> This is unavoidable, whether it's a template or not. What changes do
>> you envision would be transparent using an opaque pImpl model (as was
>> done in previous versions of phobos), but would break using templates?
>
> struct AAver1(K, V)
> {
> K[] tbl; V[] tlb2; uint size;
> }
>
> struct AAver2(K, V)
> {
> K[] tbl; V[] tbl2; V[] optimizationTbl;
> }
>
> Would break if a AAver1 table was ever passed to code that
> was compiled against a AAver2 table. In sort you could never
> add anything to the AA struct. Without going in roundabout
> ways of making sure you never access outside of any struct
> version ever out there.
>
> Or for that matter change how the internal tables are
> populated by add and remove.
So you are expecting druntime to be a .so/dll then. When that happens, we
can worry about this. But right now, each dll gets it's own copy of
druntime, so there still is no compatibility.
-Steve
More information about the Digitalmars-d
mailing list