The question did arise in a Stackoverflow question. Are you allowed to call an std::function which executes a "delete myStdFunctionWrapperPtr;"?
The question is
1. Is it forbidden for a program to do so because otherwise it will be undefined behavior (because it is unspecified what the operator () of std::function does after executing the bound functor).
2. Or is it disallowed for implementations to touch anything of "this" after invocation of the bound functor because it might have deleted "this"?
Thanks for the link. I agree that to me the resolution regarding this issue is insufficiently clear - in my intuition, the access happenee before the invocation of the bound functor and completed with its invocation entry.
In that regard the nonnormative note which required member function invocation to have finished before the start of the destructor seemed clearer.