// PR c++/48530
// { dg-do compile { target c++11 } }

template<class T,
	 class = decltype(T{})
>
char f(int);

template<class>
char (&f(...))[2];

struct DelDtor {
  ~DelDtor() = delete;
};

static_assert(sizeof(f<DelDtor[2]>(0)) != 1, "Error");

struct A
{
  static DelDtor *p;
};

template<class T,
	 class = decltype(delete T::p, (T*)0)
>
char g(int);

template<class>
char (&g(...))[2];

static_assert(sizeof(g<DelDtor>(0)) != 1, "Error");
