Open marakew opened 1 year ago
Поведение по умолчанию будет в как минимум в половине случаев не подходить пользователям: многие ожидают std::suspend_always, другие ожидают std::suspend_never, третьим вообще нужно третье поведение
расширю смою глубокую мысль
никаких initial/final в существующих корутинах всех возможных языков не существует их придумал гор нишанов чем усложнил понятие корутина для С++ и для тех кто их использует
из множества существующих кейсов никаких initial/final не нужны вообще более того, такие состояние фрейма корутины не нужны, они только добавляют избыточности в генерируемый код
так вот хотелось бы подарок к С++26 это возможность их полностью убирать т.е. эти состояние initial/final и сделать их опциональными т.е. если пользователь их не объявляет то они не используется и не создаются компилером
а если пользователю нужны эти состояние пусть объявляет эти методы и вперед
как их уважаемый комитет уберет оставляю на волю комитета даже объявлением неким "= delete;" на этих методах подойдет на тот случае если там возникнут какие то контрадикшин в стандарте с многобуквенными формулировками
а не хотят ли в много уважаемом комитете сделать подарок к С++26
и сделать initial_suspend() и final_suspend() опциональными
честно говоря утомляет их постоянно писать когда их нет смысла использовать