1 // PR c++/85552
2 // { dg-do compile { target c++11 } }
3 
4 template<typename T>
5 struct uptr {
uptruptr6   uptr() { }
uptruptr7   uptr(void*) { }
~uptruptr8   ~uptr() { static_assert(sizeof(T), "complete type"); }
9 };
10 
11 class S;
12 
13 class Compiles
14 {
15   uptr<S> s;
16 };
17 
18 class DoesntCompile
19 {
20   ~DoesntCompile();
21   DoesntCompile();
22 
23   uptr<S> s1 { };
24   uptr<S> s2 { nullptr };
25 };
26 
main()27 int main()
28 {
29   return 0;
30 }
31