#include "async.h"

void
call_0(callback<void>::ref cb)
{
  cb();
}

void
call_1(callback<void, int>::ref cb)
{
  cb(1);
}

void
call_2(callback<void, int, int>::ref cb)
{
  cb(11, 22);
}

void
fn(int x, int y)
{
  warn << "fn x " << x << " y " << y << "\n";
}

int
main()
{
  call_0(wrap(fn, 111, 222));
  call_1(wrap(fn, 99));
  call_2(wrap(fn));
}

