blob: 4933b27a53e18e2843773275f6af05b53ada059a (
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
48
49
50
|
class Baz : Object {
public Baz () {
}
Baz get_object ()
{
return new Baz ();
}
public Baz[] create_array () {
var a = get_array<Baz> ();
a += (Baz) get_object ();
assert (a.length == 2);
assert (!(get_object () in a));
return a;
}
public V[] create_array2<V> () {
var a = get_array2<V> ();
a += (V) get_object ();
assert (a.length == 3);
assert (!(get_object () in a));
return a;
}
T[] get_array<T> () {
T[] a = {};
a += (T) get_object ();
return a;
}
G[] get_array2<G> () {
G[] a = {};
a += (G) get_object ();
a += (G) get_object ();
return a;
}
}
void test_generics_array () {
var g = new Baz ();
var a = g.create_array ();
assert (a.length == 2);
var b = g.create_array2<Baz> ();
assert (b.length == 3);
}
void main () {
test_generics_array ();
}
|