Llamar al constructor initializer_list a través de make_unique / ma, ke_shared

Estoy tratando de usarstd::make_unique instanciar una clase cuyo constructor es recibir unstd::initializer_list. Aquí un caso mínimo:

#include <string>
#include <vector>
#include <initializer_list>
#include <memory>

struct Foo {
    Foo(std::initializer_list<std::string> strings) : strings(strings) {}

    std::vector<std::string> strings;
};

int main(int, char**) {

    auto ptr = std::make_unique<Foo>({"Hello", "World"});

    return 0;
}

Puedes ver enColiru que no se construye:

main.cpp:14:56: error: no matching function for call to 'make_unique(<brace-enclosed initializer list>)'
     auto ptr = std::make_unique<Foo>({"Hello", "World"});

Asi esmake_unique supuestamente no puede usarinitializer_lists? ¿Hay algún error en GCC 4.9.1? ¿O pasé por alto algo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta