Инициализация Const Struct с другими экземплярами Const Struct

Мне любопытно, почему следующий фрагмент кода не компилируется:

typedef struct Foo {
    int a;
    int b;
} Foo;

static const Foo FooZero = { 0, 0 };

typedef struct Bar {
    Foo foo;
    int c;
} Bar;

static const Bar BarZero = { FooZero, 0 };

Жалуется на использованиеFooZero, основываясь на этомFooZero не являетсяCompile-Time Constant

Но не так ли? Что я здесь не понимаю?

Очевидно, я могу просто заменить использованиеFooZero в инициализаторе с{ 0, 0 } - моя цель при задании вопроса не в том, как обойти проблему, - я пытаюсь понять причину, почемуFooZero на самом деле не является константой времени компиляции.

Спасибо