Home | History | Annotate | Download | only in expr.prim.lambda

Lines Matching full:auto

7 auto capturing_lambda = [n(0)] {};
10 const auto capturing_lambda_copy = capturing_lambda;
14 // "auto init-capture ;"...
15 auto with_float = [f(1.0f)] {};
18 auto with_float_2 = [&f(f)] {}; // ok, refers to outer f
40 auto init_kind_1 = [ec(ExplicitCopy())] {};
41 auto init_kind_2 = [ec = ExplicitCopy()] {}; // expected-error {{no matching constructor}}
44 auto init_kind_1 = [ec(T())] {};
45 auto init_kind_2 = [ec = T()] {}; // expected-error {{no matching constructor}}
54 auto bad_init_1 = [a()] {}; // expected-error {{expected expression}}
55 auto bad_init_2 = [a(1, 2)] {}; // expected-error {{initializer for lambda capture 'a' contains multiple expressions}}
56 auto bad_init_3 = [&a(void_fn())] {}; // expected-error {{cannot form a reference to 'void'}}
57 auto bad_init_4 = [a(void_fn())] {}; // expected-error {{field has incomplete type 'void'}}
58 auto bad_init_5 = [a(overload_fn)] {}; // expected-error {{cannot deduce type for lambda capture 'a' from initializer of type '<overloaded function}}
59 auto bad_init_6 = [a{overload_fn}] {}; // expected-error {{cannot deduce type for lambda capture 'a' from initializer list}}
64 auto multi_return(int a, int b) {
67 auto use_multi_return() {
68 auto nm = multi_return(5, 9);
72 auto a = [a(4), b = 5, &c = static_cast<const int&&>(0)] { // expected-warning {{binding reference member 'c' to a temporary value}} expected-note {{here}}
78 auto b = [a{0}] {}; // expected-error {{include <initializer_list>}}
83 template<typename T> decltype(auto) move(T &&t) { return static_cast<typename remove_reference<T>::type&&>(t); }
84 auto s = [s(move(S()))] {};