summaryrefslogtreecommitdiff
path: root/tests/arrays/fixed-length-init0-not-allowed.vala
blob: 9cb8a43a70e3069ee1dc789c5e9b308b768e6136 (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
const int BAR = 1024;

void main () {
	{
		const int FOO = 4;

		char bar[FOO] = { 'f', 'o', 'o', '\0' };
		assert ((string) bar == "foo");

		char baz[FOO];
		baz[0] = 'f';
		baz[1] = 'o';
		baz[2] = 'o';
		baz[3] = '\0';
		assert ((string) baz == "foo");
	}
	{
		const int FOO = 1024;

		string foo[FOO];

		assert (foo[0] == null);
		assert (foo[FOO / 2] == null);
		assert (foo[FOO - 1] == null);
	}
	{
		const int FOO = 1024;

		string array[16 * FOO];

		assert (array[0] == null);
		assert (array[16 * FOO / 2] == null);
		assert (array[16 * FOO - 1] == null);
	}
	{
		string array[BAR];

		assert (array[0] == null);
		assert (array[BAR / 2] == null);
		assert (array[BAR - 1] == null);
	}
	{
		string array[16 * BAR];

		assert (array[0] == null);
		assert (array[16 * BAR / 2] == null);
		assert (array[16 * BAR - 1] == null);
	}
}