Inicialização de C struct usando rótulos. Funciona, mas como?

Eu encontrei algum código de inicialização struct ontem que me jogou para um loop. Aqui está um exemplo:

typedef struct { int first; int second; } TEST_STRUCT;
void testFunc() {
    TEST_STRUCT test = {
        second: 2,
        first:  1
    };
    printf("test.first=%d test.second=%d\n", test.first, test.second);
}

Surpreendentemente (para mim), aqui está a saída:

-> testFunc
test.first=1 test.second=2

Como você pode ver, a estrutura é inicializada corretamente. Eu não sabia que instruções rotuladas poderiam ser usadas assim. Eu vi várias outras maneiras de fazer a inicialização de struct, mas não encontrei nenhum exemplo desse tipo de inicialização de struct em qualquer um dos C FAQs on-line. Alguém está ciente de como / porque isso funciona?

questionAnswers(5)

yourAnswerToTheQuestion