#include "test-harness.h" typedef struct Point { int x; int y; } Point; typedef struct Size { int width; int height; } Size; typedef struct Rect { Point origin; Size size; } Rect; Rect rect = {{1, 2}, {3, 4}}; Point origin = {5, 6}; Size size = {7, 8}; int test_struct_1(Rect rect) { return rect.origin.x; } int test_struct_2(Rect rect) { return rect.origin.y; } int test_struct_3(Rect rect) { return rect.size.width; } int test_struct_4(Rect rect) { return rect.size.height; } int main() { int ret = 0; ret |= test_struct_1(rect) != 1; ret |= test_struct_2(rect) != 2; ret |= test_struct_3(rect) != 3; ret |= test_struct_4(rect) != 4; rect.origin = origin; rect.size = size; ret |= test_struct_1(rect) != 5; ret |= test_struct_2(rect) != 6; ret |= test_struct_3(rect) != 7; ret |= test_struct_4(rect) != 8; return ret; }