I said it was contrived ;)
I agree that I wouldn't want this to force us to have await return
, await try
, await throw
, etc.

But I still think await in defer can work, and I still think there's not quite a strong enough reason (that I've seen) that it shouldn't work.
There's no technical reason that I can see, either. There are use cases (e.g., closing a file handle), and the reasons I can come up to not allow it---somewhat less-obvious potential suspension points (although there's still clearly an await
in the source within the defer
) and asymmetry with throw
(which is banned in defer
for legitimate reasons)---aren't very strong.
So let's chalk this up to "we should remove this restriction unless more arguments come up in favor of keeping it."
Doug