Index: doc/papers/concurrency/examples/Format.cpp
===================================================================
--- doc/papers/concurrency/examples/Format.cpp	(revision aa22c608e49b47fb3a0880d3a273b38cd519d4f4)
+++ doc/papers/concurrency/examples/Format.cpp	(revision 13b1b1d87a883d8882e3f5c63671582f5cec72c5)
@@ -5,5 +5,7 @@
 	struct promise_type {
 		char _value;
-		int g, b;
+		struct locals {
+			int g, b;
+		} * _l;
 
 		fmt_cor get_return_object() {
@@ -16,4 +18,9 @@
 		void return_void() {}
 		void unhandled_exception() {}
+
+		auto yield_value(locals & l) {
+			_l = &l;
+			return suspend_never();
+		}
 	};
 
@@ -41,5 +48,10 @@
 
 	~fmt_cor() {
-		if(_coroutine) { _coroutine.destroy(); }
+		if(_coroutine) {
+			_coroutine.destroy();
+			if (_coroutine.promise()._l->g != 0 | _coroutine.promise()._l->b != 0) {
+				std::cout << "\n";
+			}
+		}
 	}
 
@@ -67,9 +79,9 @@
 
 fmt_cor Fmt() {
-	int g; // = co_await fmt_cor::g();
-	int b; // = co_await fmt_cor::b();
+	fmt_cor::promise_type::locals l;
+	co_yield l;
 	for(;;) {
-		for(g = 0; g < 5; g++) {
-			for(b = 0; b < 4; b++) {
+		for(l.g = 0; l.g < 5; l.g++) {
+			for(l.b = 0; l.b < 4; l.b++) {
 				std::cout << co_await fmt_cor::get();
 			}
