http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51185

             Bug #: 51185
           Summary: [C++0x] false-positive results of
                    std::is_constructible
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: libstdc++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: ai.az...@gmail.com


All of the static_asserts in the following code result in compile error with
-std=c++11.


////////////////////////////////////////
#include <type_traits>

struct A{};
struct B : A{};

int main()
{
  static_assert(!std::is_constructible<B &&, A>(), "");
  static_assert(!std::is_constructible<B const &&, A>(), "");
  static_assert(!std::is_constructible<B const &&, A const>(), "");
  static_assert(!std::is_constructible<B volatile &&, A>(), "");
  static_assert(!std::is_constructible<B volatile &&, A volatile>(), "");
  static_assert(!std::is_constructible<B const volatile &&, A>(), "");
  static_assert(!std::is_constructible<B const volatile &&, A const>(), "");
  static_assert(!std::is_constructible<B const volatile &&, A volatile>(), "");
  static_assert(!std::is_constructible<B const volatile &&, A const
volatile>(), "");
}
////////////////////////////////////////

Reply via email to