1 // PR c++/48530
2 // { dg-options -std=c++0x }
3 
4 template<class T,
5 	 class = decltype(T{})
6 >
7 char f(int);
8 
9 template<class>
10 char (&f(...))[2];
11 
12 struct DelDtor {
13   ~DelDtor() = delete;
14 };
15 
16 static_assert(sizeof(f<DelDtor[2]>(0)) != 1, "Error");
17 
18 struct A
19 {
20   static DelDtor *p;
21 };
22 
23 template<class T,
24 	 class = decltype(delete T::p, (T*)0)
25 >
26 char g(int);
27 
28 template<class>
29 char (&g(...))[2];
30 
31 static_assert(sizeof(g<DelDtor>(0)) != 1, "Error");
32