aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.test/compilable/fail260.d
blob: 96f4d1bdfa8910cd7f8e746c6dc2ed842fd01b08 (plain)
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
// PERMUTE_ARGS:
// REQUIRED_ARGS: -d

struct Static(uint width2, uint height2)
{
    immutable width = width2;
    immutable height = height2;

    static Static opCall()
    {
        Static ret;
        return ret;
    }

    alias float E;

    template MultReturn(alias M1, alias M2)
    {
        alias Static!(M2.width, M1.height) MultReturn;
    }

    void opMultVectors(M2)(M2 b)
    {
        alias MultReturn!(Static, M2) ret_matrix;
    }
}

void test()
{
    alias Static!(4, 1) matrix_stat;
    static matrix_stat m4 = matrix_stat();

    alias Static!(1, 4) matrix_stat2;
    static m6 = matrix_stat2();

    m6.opMultVectors(m4);
}