That should fail to compile on await takeP(s). This is Rule 1, and your example is very similiar to badFunc3 in the proposal.
Possible it's got confused because with nonisolated-nonsending-by-default, this would be safe? So the behavior of this check needs to depend on that other feature.