summaryrefslogtreecommitdiffhomepage
path: root/CompilerDriver/cc2/regression-tests/pure2-for-loop-range-with-lambda.cpp2
blob: 066771baa9b3f1771803607042bc4399dca884e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
first: (forward f, forward _...) -> forward _ = f;

main: (args) = {
   ints: const std::array = (1, 2, 3, 4, 5);
   // OK
   for ints.first() do (i) {
      std::cout << i;
   }

   // OK
   for ints.first(1) do (i)  {
      std::cout << i;
   }

   // Used to cause Error
   for ints.first(:(x) x) do (i)   {
      std::cout << i;
   }

   // OK
   temp := ints.first(:(x) x);
   for temp do (i) {
      std::cout << i;
   }

   for :() args$;() do (i) _ = i;
   for :(x) x;(args) do (j) _ = j;
   for :(x) x;(args) next _ = :() args$;() do (k) _ = k;
   for :(x) x;(args) next _ = :(x) x;(args) do (l) _ = l;
}