It's definitely an issue, but it's also an improvement to the situation in other languages as the await points were cancellation is possible are visible in the code.
One solution would be linear types that can't be dropped, but interactions with generics and panics make it hard.
One solution would be linear types that can't be dropped, but interactions with generics and panics make it hard.