aboutsummaryrefslogtreecommitdiff
path: root/compiler/tests/verifier/expr_typeparam_types.bad
blob: 50d7eb1b68777a3bdb4a495da070835a00a64697 (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
38
39
40
41
42
43
44
45
46
47


typedef ta[T] = (
    T^ value,
);

typedef nested[T] = (
    ta inner, // ERROR missing type paramter
);

var int i;
var int var^ ip;
var float f;
var float var^ fp;
var byte by;
var byte var^ byp;
var bool bo;
var bool var^ bop;


() test_bad_param_list()
{
    /* ERRORS missing type paramters */
    ta t;
    ta^ u;
    
    /* ERRORS wrong number of type paramters */
    ta[] v;
    ta[int,int,int] w;
}

() test_non_parametric()
{
    int[] t;        // ERROR
    int[bool] u;    // ERROR
    (int aa, int bb) v;
}

() test_nested()
{
    var nested[int] t;
    
    /* ERRORS */
    ip = t.inner.value;
    t.inner.value = ip;
    t.inner.value = @i;
}