diff --git a/include/asyncio.hpp b/include/asyncio.hpp index 60c95f0..813e0f4 100644 --- a/include/asyncio.hpp +++ b/include/asyncio.hpp @@ -2,7 +2,7 @@ #include namespace zt{ template - struct Task{ + struct Task:std::coroutine_handle{ struct promise_type; struct promise_type{ std::promise promise_; @@ -14,7 +14,7 @@ namespace zt{ return std::suspend_always{}; } auto get_return_object(){ - return Task{}; + return Task::from_promise(*this); } void unhandled_exception(){ return; diff --git a/src/test1.cpp b/src/test1.cpp index 2f50e88..b4b3e9d 100644 --- a/src/test1.cpp +++ b/src/test1.cpp @@ -11,5 +11,5 @@ zt::Task return0(){ int main(){ auto ret = return0(); - ret.promise_type + ret.promise_type; } \ No newline at end of file