title: std::is_base_of for a ctor compiling error
body: <p><strong>Edited</strong></p>
  <p>I have the following:</p>
  <pre><code>#include &lt;iostream&gt;
  #include &lt;vector&gt;
  #include &lt;type_traits&gt;
  
  class IListableItem {};
  class SubIListableItem : public IListableItem {};
  class Base{};
  template&lt;class T&gt; struct is_listable_item : public std::false_type {};
  template&lt;class T&gt; struct is_listable_item&lt;std::is_base_of&lt;IListableItem, T&gt;&gt; : public std::true_type {};
  template&lt;class T, std::enable_if_t&lt;is_listable_item&lt;T&gt;::value, bool&gt; = true&gt;
  class ImplementationOfBase : public Base
  {
  public:
      explicit ImplementationOfBase(const std::vector&lt;T&gt; &amp;items): Base(){}
      virtual ~ImplementationOfBase(){}
  
  protected:
      std::vector&lt;std::wstring&gt; getLabels(const std::vector&lt;T&gt; &amp;source)
      {
      std::vector&lt;std::wstring&gt; ret;
      for (auto &amp;i : source) ret.emplace_back(i.label);
      return ret;
      }
  };
  
  class Page : public ImplementationOfBase&lt;SubIListableItem&gt; {};
  
  int main ()
  {
  
  }
  
  </code></pre>
  <p>It returns me:</p>
  <pre><code>prog.cc:34:58: error: no type named 'type' in 'struct std::enable_if&lt;false, bool&gt;'
     34 | class Page : public ImplementationOfBase&lt;SubIListableItem&gt; {};
        |                                                          ^
  </code></pre>
  <p><strong>I can't use pointers in this case</strong>
  Any clues?</p>
  <p>Live example:
  <a href="https://wandbox.org/permlink/ESviQ0qHrjLPX9wE" rel="nofollow noreferrer">https://wandbox.org/permlink/ESviQ0qHrjLPX9wE</a></p>
  <p>Thnks.</p>