Should Swift warn about ineffective cancellation checks inside unstructured tasks?

Even then, it still only works at a single syntactic scope.

Between "even unmanaged tasks can be cancelled" and "outside the immediate lexical scope, all bets are off", I think there are simply too many caveats for this to be useful.

It would be better if instead the Task initializer did not allow discarding the task handle, which was/is being discussed here: Pitch: Remove discardableResult from throwing task initializers