Lines Matching full:auto

16     auto L = [i](auto a) { return i + a; };
23 auto L = [](auto a) { return a; };
34 T (*fp)(T) = [](auto a) { return a; };
41 void fooT(T t, T (*fp)(T) = [](auto a) { return a; }) {
47 auto L = [](auto a) { return a; };
60 auto L = [](auto a) ->int { return a; }; //expected-note 2{{candidate template ignored}}
67 auto L = [=](auto b, char c = 'x') {
69 return [](auto a) ->decltype(a) { return a; };
83 auto L = [=](auto b) {
84 return [](auto a) ->decltype(b)* { return (decltype(b)*)0; };
97 auto L = [=](auto b) {
98 return [](auto a) ->decltype(b)* { return (decltype(b)*)0; }; //expected-note{{candidate template ignored}}
110 auto L = [=](auto b) {
111 return [](auto a) {
112 return [=](auto c) {
113 return [](auto d) ->decltype(a + b + c + d) { return d; };
143 auto glambda = [](auto a) { return a; };
150 int& (*fpi)(int*) = [](auto* a) -> auto& { return *a; }; // OK
155 auto L = [](auto a) { return a; };
168 auto L = [](auto a) ->int { return a; }; //expected-note 2{{candidate template ignored}}
174 int* (*fp)(int*) = [](auto *a) -> auto* { return a; };
184 int& (*fpi)(int*) = [](auto* a) -> auto& { return *a; }; // OK
185 int (*fp2)(int) = [](auto b) -> int { return b; };
186 int (*fp3)(char) = [](auto c) -> int { return c; };
187 char (*fp4)(int) = [](auto d) { return d; }; //expected-error{{no viable conversion}}\
188 //expected-note{{candidate function [with d:auto = int]}}
189 char (*fp5)(char) = [](auto e) -> int { return e; }; //expected-error{{no viable conversion}}\
203 int (*fp)(int, char, double) = [](auto ... a) -> int { vfun(a...); return 4; };
206 int (*fp2)(int, char, double) = [](auto ... a) { vfun(a...); return 4; };
215 auto L = [](auto a) -> int { return a; }; // expected-error {{cannot initialize}}
217 int (&fp2)(int) = [](auto a) { return a; }; // expected-error{{non-const lvalue}}
218 int (&&fp3)(int) = [](auto a) { return a; };
220 // expected-note-re@-2 {{candidate template ignored: could not match 'auto (*)(auto){{.*}}' against 'int (int)'}}
227 // Here, the conversion function is named 'operator auto (*)(int)', and
229 auto M = [](auto a) -> auto { return a; };
236 auto l = [](auto a) ->auto { return a; }(2);
237 auto l2 = [](auto a) ->decltype(auto) { return a; }(2);
238 auto l3 = [](auto a) { return a; }(2);
243 void test(int i = [](auto a)->int { return a; }(3)) {
251 auto L = [](auto a) {
252 return [](auto b) {
256 auto M = L(3);
261 auto L = [](auto a) {
262 return [](auto b) { //expected-note 3{{begins here}} expected-note 6 {{capture 'i' by}} expected-note 6 {{default capture by}} expected-note {{while substituting into a lambda}}
267 auto M = L(3); //expected-note{{instantiation}}
272 auto L = [](auto a) {
273 return [](auto b) {
280 auto L = [](auto a) {
282 return [](auto b) ->decltype(a) {
287 auto M = L(3);
292 auto L = [](auto a) ->decltype(a) {
294 return [](auto b) ->decltype(a) {
296 // expected-note-re@-2 {{candidate template ignored: could not match 'auto (*)(auto){{.*}}' ({{.*}}) against 'decltype(a)' (aka 'int')}}
301 auto M = L(3); //expected-note{{in instantiation of}}
304 auto L = [](auto a) {
306 return [](auto ... b) ->decltype(a) {
311 auto M = L(3);
316 auto L = [](auto a) {
318 return [](auto ... b) ->decltype(a) {
323 auto M = L(3);
329 auto L = [](auto a) {
332 return [](auto ... c) ->decltype(b) {
339 auto M = L(3);
341 auto N = M('x');
349 auto L = [](auto a) {
352 return [](auto ... c) ->decltype(b) {
359 auto M = L('3');
361 auto N = M('x');
372 auto L = [](auto a) {
378 return [](auto ... c) ->decltype(b) {
387 auto M = L('3');
389 auto N = M('x');
402 auto test() {
403 auto L = [](auto a) {
409 return [](auto ... c) ->decltype(b) {
421 auto L = x.test();
423 auto M = L('3');
425 auto N = M('x');
434 auto test() {
435 auto L = [](auto a) {
441 return [](auto ... c) {
458 auto L = x.test();
460 auto M = L('3');
462 auto N = M('x');
463 auto O = N("\n3 = ", 3, "\n6.14 = ", 6.14, "\n4'123'456 = ", 4'123'456);
475 auto L = [](auto a) -> void {
476 auto M = [](char b) -> void {
477 auto N = [](auto c) -> void {
497 template<class T> auto fooT(T t) {
498 auto L = [](auto a) {
499 auto M = [](char b) {
500 auto N = [](auto c) {
519 template<class ... Ts> auto fooV(Ts ... ts) {
520 auto L = [](auto ... a) {
521 auto M = [](decltype(a) ... b) {
522 auto N = [](auto c) {
549 auto test() {
550 auto L = [](auto a) {
556 return [](auto ... c) {
571 auto L = test();
572 auto L_test = L('4');
573 auto M = L('3');
574 auto M_test = M('a');
575 auto N = M('x');
576 auto O = N("\n3 = ", 3, "\n6.14 = ", 6.14, "\n4'123'456 = ", 4'123'456);
578 auto NP_result = np("\n3 = ", 3, "\n6.14 = ", 6.14, "\n4'123'456 = ", 4'123'456);
591 auto L = [](auto ... a) -> void {
592 auto M = [](decltype(a) ... b) -> void {
593 auto N = [](auto c) -> void {
616 auto L = [](auto ... a) {
617 auto M = [](decltype(a) ... b) -> void {
618 auto N = [](auto c) -> void {
631 auto M = L(L, ts...);
636 auto L = [](auto ... a) {
637 auto M = [](decltype(a) ... b) {
638 auto N = [](auto c) -> void {
652 auto M = L(L, ts...);
673 auto test() {
674 auto L = [](auto a) {
680 return [](auto ... c) {
697 auto L = x.test();
698 auto L_test = L('4');
699 auto M = L('3');
700 auto M_test = M('a');
701 auto N = M('x');
702 auto O = N("\n3 = ", 3, "\n6.14 = ", 6.14, "\n4'123'456 = ", 4'123'456);
704 auto NP_result = np("\n3 = ", 3, "\n6.14 = ", 6.14, "\n4'123'456 = ", 4'123'456);
714 auto test(T = T{}) {
715 auto L = [](auto a) {
721 return [](auto ... c) {
739 auto L = x.test();
740 auto L_test = L('4');
741 auto M = L('3');
742 auto M_test = M('a');
743 auto N = M('x');
744 auto O = N("\n3 = ", 3, "\n6.14 = ", 6.14, "\n4'123'456 = ", 4'123'456);
746 auto NP_result = np("\n3 = ", 3, "\n6.14 = ", 6.14, "\n4'123'456 = ", 4'123'456);
754 auto L = [](auto a) -> int {
755 auto M = [](auto b, decltype(a) b2) -> int {
763 auto L = [](auto a) { return a; };
771 auto L = [](auto b) {
772 return [](auto a) ->decltype(a) { return a; };
791 template<class ... Ts> auto vfun(Ts&& ... ts) {
798 auto L = [](auto ... As) {
799 return [](auto b) ->decltype(b) {
804 auto LL = L(1, 'a', 3.14, "abc");
822 auto startEnd = [](const char * sym) -> void {
841 auto startEnd = [](const T *sym) -> void {
877 enum { E = [](auto i) { return i; }(3) }; //expected-error{{inside of a constant expression}}\
891 int L2 = ([](auto i) { return i; })(2);
892 void fooG(int i = ([] (auto i) { return i; })(2)) { }
893 int BG : ([](auto i) { return i; })(3); //expected-error{{inside of a constant expression}} \
896 int arrG[([](auto i) { return i; })(3)]; //expected-error{{inside of a constant expression}}\
901 int (*fpG)(int) = [](auto i) { return i; };
902 void fooptrG(int (*fp)(char) = [](auto c) { return 0; }) { }
923 int L2 = ([](auto i) { return i; })(2);
924 void fooG(T i = ([] (auto i) { return i; })(2)) { }
925 int BG : ([](auto i) { return i; })(3); //expected-error{{not an integral constant}}\
928 int arrG[([](auto i) { return i; })(3)]; //expected-error{{must have a constant size}} \
933 int (*fpG)(T) = [](auto i) { return i; };
934 void fooptrG(T (*fp)(char) = [](auto c) { return 0; }) { }
935 template<class U = char> int fooG2(T (*fp)(U) = [](auto a) { return 0; }) { return 0; }
936 template<class U = char> int fooG3(T (*fp)(U) = [](auto a) { return 0; });
952 int a = [](auto ...) { return 0; }();
956 int x = [](auto) {
957 return [](auto... run_args) {
965 int y = [](auto outer) {
966 return [](auto inner) {
975 auto f(T x) {
976 auto g = [](auto&&... args) {
977 auto h = [args...]() -> int {
985 auto x = f(0)();
991 int d = [](auto x)->int {
1002 void Method(char c = [](auto x)->char {
1014 void Method(char c = [](auto x)->char {
1015 int d = [](auto y)->int {
1029 [](auto x) noexcept(noexcept(x)) { } (0);
1034 auto x = [](auto (*p)()) { return p(); };
1035 auto y = [](auto (*p)() -> auto) { return p(); };
1045 [](auto t) -> decltype(decltype(t)::x) { return 0; }(A());