File: b10562.d

package info (click to toggle)
gcc-arm-none-eabi 15%3A14.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,099,328 kB
  • sloc: cpp: 3,627,108; ansic: 2,571,498; ada: 834,230; f90: 235,082; makefile: 79,231; asm: 74,984; xml: 51,692; exp: 39,736; sh: 33,298; objc: 15,629; python: 15,069; fortran: 14,429; pascal: 7,003; awk: 5,070; perl: 3,106; ml: 285; lisp: 253; lex: 204; haskell: 135
file content (93 lines) | stat: -rw-r--r-- 2,991 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
void main()
{
    {
        int[3] ok = 3;
        assert(ok == [ 3, 3, 3]);

        ok = 1;
        assert(ok == [ 1, 1, 1]);

        int[][] da2;
        assert(da2 == []);
    }
    {
        int[3][2] a;
        assert(a == [ [ 0, 0, 0 ], [ 0, 0, 0 ] ]);

        int[3][2] b = 4;
        assert(b == [ [ 4, 4, 4 ], [ 4, 4, 4 ] ]);

        // b = 9;
        // assert(b == [ [ 9, 9, 9 ], [ 9, 9, 9 ] ]);

        int[3][2] c = [ 1, 2, 3 ];
        assert(c == [ [ 1, 2, 3 ], [ 1, 2, 3 ] ]);

        c = [ 5, 6, 7 ];
        assert(c == [ [ 5, 6, 7 ], [ 5, 6, 7 ] ]);

        int[3][2] d = [ [ 1, 2, 3 ], [ 4, 5, 6 ] ];
        assert(d == [ [ 1, 2, 3 ], [ 4, 5, 6 ] ]);
    }
    {
        int[3][2][4] a;
        assert(a == [ [ [ 0, 0, 0 ], [ 0, 0, 0 ] ],
                      [ [ 0, 0, 0 ], [ 0, 0, 0 ] ],
                      [ [ 0, 0, 0 ], [ 0, 0, 0 ] ],
                      [ [ 0, 0, 0 ], [ 0, 0, 0 ] ] ]);

        // a = 1;
        // assert(a == [ [ [ 1, 1, 1 ], [ 1, 1, 1 ] ],
        //               [ [ 1, 1, 1 ], [ 1, 1, 1 ] ],
        //               [ [ 1, 1, 1 ], [ 1, 1, 1 ] ],
        //               [ [ 1, 1, 1 ], [ 1, 1, 1 ] ] ]);

        int[3][2][4] b = [ 1, 2, 3 ];
        assert(b == [ [ [ 1, 2, 3 ], [ 1, 2, 3 ] ],
                      [ [ 1, 2, 3 ], [ 1, 2, 3 ] ],
                      [ [ 1, 2, 3 ], [ 1, 2, 3 ] ],
                      [ [ 1, 2, 3 ], [ 1, 2, 3 ] ] ]);

        // b = [ 4, 5, 6];
        // assert(b == [ [ [ 4, 5, 6 ], [ 4, 5, 6 ] ],
        //               [ [ 4, 5, 6 ], [ 4, 5, 6 ] ],
        //               [ [ 4, 5, 6 ], [ 4, 5, 6 ] ],
        //               [ [ 4, 5, 6 ], [ 4, 5, 6 ] ] ]);

        int[3][2][4] c = [ [ 1, 2, 3 ], [ 4, 5, 6 ] ];
        assert(c == [ [ [ 1, 2, 3 ], [ 4, 5, 6 ] ],
                      [ [ 1, 2, 3 ], [ 4, 5, 6 ] ],
                      [ [ 1, 2, 3 ], [ 4, 5, 6 ] ],
                      [ [ 1, 2, 3 ], [ 4, 5, 6 ] ] ]);

        c = [ [ 4, 5, 6 ], [ 7, 8, 9 ] ];
        assert(c == [ [ [ 4, 5, 6 ], [ 7, 8, 9 ] ],
                      [ [ 4, 5, 6 ], [ 7, 8, 9 ] ],
                      [ [ 4, 5, 6 ], [ 7, 8, 9 ] ],
                      [ [ 4, 5, 6 ], [ 7, 8, 9 ] ] ]);
    }
    {
        int[3] val = [4, 5, 6];
        int[3][2][4] a = val[];

        assert(a == [ [ [ 4, 5, 6 ], [ 4, 5, 6 ] ],
                    [ [ 4, 5, 6 ], [ 4, 5, 6 ] ],
                    [ [ 4, 5, 6 ], [ 4, 5, 6 ] ],
                    [ [ 4, 5, 6 ], [ 4, 5, 6 ] ] ]);
    }
    {
        // https://issues.dlang.org/show_bug.cgi?id=10562
        int[3] value = [ 1, 2, 3 ];
        int[3][2] a = value;  // <-- COMPILATION ERROR
        assert(a == [ [ 1, 2, 3 ], [ 1, 2, 3 ] ]);
    }
    {
        // https://issues.dlang.org/show_bug.cgi?id=20465
        int[][3][2] arr;
        assert(arr == [[ null, null, null ], [ null, null, null ]]);

        // int[] slice = [ 1 ];
        // arr = slice;
        // assert(arr == [[ slice, slice, slice ], [ slice, slice, slice ]]);
    }
}