title: Calling initializer_list constructor via make_unique/make_shared
body: <p>I'm trying to use <code>std::make_unique</code> to instanciate a class whose constructor is to receive an <code>std::initializer_list</code>. Here a minimal case :</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;vector&gt;
  #include &lt;initializer_list&gt;
  #include &lt;memory&gt;
  
  struct Foo {
      Foo(std::initializer_list&lt;std::string&gt; strings) : strings(strings) {}
  
      std::vector&lt;std::string&gt; strings;
  };
  
  int main(int, char**) {
  
      auto ptr = std::make_unique&lt;Foo&gt;({"Hello", "World"});
  
      return 0;
  }
  </code></pre>
  
  <p>You can see on <a href="http://coliru.stacked-crooked.com/a/ad872ef17595764c" rel="noreferrer">Coliru</a> that it doesn't build :</p>
  
  <pre><code>main.cpp:14:56: error: no matching function for call to 'make_unique(&lt;brace-enclosed initializer list&gt;)'
       auto ptr = std::make_unique&lt;Foo&gt;({"Hello", "World"});
  </code></pre>
  
  <p>So, is <code>make_unique</code> reportedly unable to use <code>initializer_list</code>s ? Is there a bug in GCC 4.9.1 ? Or did I overlook something ?</p>