[] () -> class C { return C(); };
[] () -> enum E { return e; };
- [] [[fake_ident]] { while (1) ; }; // expected-error {{lambda requires '()' before attribute specifier}} expected-warning {{unknown attribute 'fake_ident' ignored}}
[] -> int { return 0; }; // expected-error{{lambda requires '()' before return type}}
[] mutable -> int { return 0; }; // expected-error{{lambda requires '()' before 'mutable'}}
[](int) -> {}; // PR13652 expected-error {{expected a type}}
return x + 2;
} ();
}
+
+ void attributes() {
+ [] [[]] {}; // expected-error {{lambda requires '()' before attribute specifier}}
+ []() [[]]
+ mutable {}; // expected-error {{expected body of lambda expression}}
+
+ []() [[]] {};
+ []() [[]] -> void {};
+ []() mutable [[]] -> void {};
+ []() mutable noexcept [[]] -> void {};
+
+}
};