#include <chrono>
using namespace std;
using namespace std::chrono_literals;
struct quit {};
{
int x = 0, y = 1;
do
{
[&x, &y] {
auto old_x = x;
x = y; y = old_x + y;
} ),
}
}
int main()
{
thread fibonacci_thr;
auto thr_joiner =
auto_join( fibonacci_thr );
mchain_props::memory_usage_t::preallocated,
mchain_props::overflow_reaction_t::abort_app );
fibonacci_thr = thread{ fibonacci, values_ch, quit_ch };
[]( int v ) { cout << v << endl; } );
send< quit >( quit_ch );
}