view tests/mini/aa6.d @ 956:369996c08420

Change the numbering of static ctors/dtors to be module based instead of being global. This fixes #210 by making sure that the static ctor always gets the same number, regardless of the order of the modules given at the command line.
author Christian Kamm <kamm incasoftware de>
date Sun, 15 Feb 2009 11:46:28 +0100
parents 1bb99290e03a
children
line wrap: on
line source

module aa6;

extern(C) int printf(char*, ...);

void main()
{
    int[int] aa;
    aa = [1:1, 2:4, 3:9, 4:16];
    printf("---\n");
    foreach(int k, int v; aa)
        printf("aa[%d] = %d\n", k, v);
    aa.rehash;
    printf("---\n");
    foreach(int k, int v; aa)
        printf("aa[%d] = %d\n", k, v);
    size_t n = aa.length;
    assert(n == 4);
    int[] keys = aa.keys;
    assert(keys[] == [1,2,3,4][]);
    int[] vals = aa.values;
    assert(vals[] == [1,4,9,16][]);
    aa.remove(3);
    printf("---\n");
    foreach(int k, int v; aa)
        printf("aa[%d] = %d\n", k, v);
    assert(aa.length == 3);
}