Posible error del compilador en MSVC12 (VS2013) con inicializador designado

Usando VS2013 Actualización 2, me encontré con un extraño mensaje de error:

// test.c
int main(void)
{
    struct foo {
        int i;
        float f;
    };

    struct bar {
        unsigned u;
        struct foo foo;
        double d;
    };

    struct foo some_foo = {
        .i = 1,
        .f = 2.0
    };

    struct bar some_bar = {
        .u = 3,

// error C2440 : 'initializing' : cannot convert from 'foo' to 'int'
        .foo = some_foo,

        .d = 4.0
    };

// Works fine
    some_bar.foo = some_foo;

    return 0;
}

Tanto GCC como Clang lo aceptan.

¿Me estoy perdiendo algo o este código expone un error del compilador?

EDITAR: Duplicar:Inicializar la estructura dentro de otra estructura utilizando el inicializador designado provoca un error de compilación en Visual Studio 2013

Respuestas a la pregunta(1)

Su respuesta a la pregunta