library;
import self as self;
import "dart:core" as core;

static const field dynamic numbers = const <core::int>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
static method main() → dynamic {
  dynamic closures = <dynamic>[];
  for (core::int i in self::numbers) {
    final Vector #context = MakeVector(2);
    #context[1] = i;
    closures.add(MakeClosure<() → dynamic>(self::closure#main#function, #context));
  }
  core::int sum = 0;
  for (core::Function f in closures) {
    sum = sum.+(f.call());
  }
  core::int expectedSum = self::numbers.length.-(1).*(self::numbers.length).~/(2);
  if(!expectedSum.==(sum)) {
    throw core::Exception::•("Unexpected sum = ${sum} != ${expectedSum}");
  }
}
static method closure#main#function(Vector #contextParameter) → dynamic {
  return #contextParameter[1];
}
