1 // RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify
2 
3 class NonCopyable {
4   NonCopyable(const NonCopyable&); // expected-note 2 {{implicitly declared private here}}
5 };
6 
7 void capture_by_copy(NonCopyable nc, NonCopyable &ncr) {
8   // FIXME: error messages should talk about capture
9   (void)[nc] { }; // expected-error{{field of type 'NonCopyable' has private copy constructor}} \
10              // expected-error{{lambda expressions are not supported yet}}
11   (void)[ncr] { }; // expected-error{{field of type 'NonCopyable' has private copy constructor}} \
12              // expected-error{{lambda expressions are not supported yet}}
13 }
14 
15 struct NonTrivial {
16   NonTrivial();
17   NonTrivial(const NonTrivial &);
18   ~NonTrivial();
19 };
20 
21 struct CopyCtorDefault {
22   CopyCtorDefault(const CopyCtorDefault&, NonTrivial nt = NonTrivial());
23 
24   void foo() const;
25 };
26 
27 void capture_with_default_args(CopyCtorDefault cct) {
28   (void)[=] () -> void { cct.foo(); }; // expected-error{{lambda expressions are not supported yet}}
29 }
30 
31 // FIXME: arrays!
32