The proposal has been accepted so I think we can start using it [Accepted] SE-0447: Span: Safe Access to Contiguous Storage.
Thanks that's super helpful. If we could add something like as a brief example to the proposal that would help a lot with understanding why we need it.
I think this is the same argument as the Epoll
vs IOUring
executor. It can also be worked around by having a DynamicExecutorFromArguments
or similar.
I personally feel like it is worth to statically encode that the executor can be set once and require users to create such dynamic executors that are configured by reading the environment or doing feature detection. For example, having a NIOExecutor
that does feature detection at runtime to determine the underlying strategy seems totally reasonable to me.
FWIW, this isn't something that I feel super strong about. If we feel the ergonomics are better by doing runtime detection of setting the executor more than once that's also totally fine.