summaryrefslogtreecommitdiff
path: root/tests/structs/struct-base-types.vala
blob: 928f010bb4d9ad75a95dbfc0232f8068b353a590 (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
struct Foo {
	public string s;
}

struct Bar : Foo {
}

void main () {
	{
		Bar bar = { "bar" };
		Foo foo = bar;

		assert (bar.s == "bar");
		assert (bar.s == foo.s);

		void* s1 = foo.s;
		void* s2 = bar.s;
		assert (s1 != s2);
	}
	{
		Foo foo = { "foo" };
		Bar bar = foo;

		assert (foo.s == "foo");
		assert (foo.s == bar.s);

		void* s1 = foo.s;
		void* s2 = bar.s;
		assert (s1 != s2);
	}
}