title: Variadic template pack expansion fails with VS2017 RC but not VS2015
body: <p>The test program compiles with VS2015 but not with VS2017 RC. Below is the error I am getting while compiling the test program with VS2017 RC:</p>
  
  <pre><code>/* main.cpp */
  #include &lt;type_traits&gt;
  
  template &lt;typename T&gt;
  struct A_impl
  {
      using type = std::false_type;
  };
  
  template &lt;typename T&gt;
  using A = typename A_impl&lt;T&gt;::type;
  
  template &lt;bool... B&gt;
  struct logic_helper;
  
  template &lt;bool... B&gt;
  using none_t = std::is_same&lt;logic_helper&lt;B...&gt;, logic_helper&lt;(B &amp;&amp; false)...&gt;&gt;;
  
  template &lt;typename... C&gt;
  struct Foo
  {
      // Compile error:
      // error C3520: 'C': parameter pack must be expanded in this context
      using FooType = none_t&lt;A&lt;C&gt;::value...&gt;;
  };
  
  int main()
  {
      Foo&lt;int, int, int&gt; foo;
      return 0;
  }
  </code></pre>
  
  <p>I would like to know why the newest Visual Studio fails to compile the code while the older version has no problem with it. If possible, is there a solution to this compile error for VS2017 RC?</p>