aboutsummaryrefslogtreecommitdiff
path: root/compiler/tests/verifier/expr_typeparam_func.good
blob: 29d36b40d4d7a1360b9e4542d1b6c70d6d3d6476 (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


() dostuff[T](var T#[3]^ ptr) { // FIXME should this really be allowed? should at least require a length parameter.
}

() dostuff2(var any^ ptr) {
}

() dostuff3[T](var T^ ptr) {
}

() dostuff4(var byte#[3]^ ptr) {
}



() test() {
    var byte#[3] data = [1,2,3];
    var byte#[3]^ dataptr = @data;
    // TODO autodetect the type parameter from the argument types!
    dostuff[byte](@data);
    dostuff[byte](@data as var byte#[3]^);
    dostuff[byte](dataptr);
    
    dostuff2(@data);
    dostuff2(@data as var byte#[3]^);
    dostuff2(dataptr);
    
    dostuff3[byte#[3]](@data);
    dostuff3[byte#[3]](@data as var byte#[3]^);
    
    dostuff4(@data);
    
    dostuff[byte](@data);
    any^ ap = @data;
}