Is it possible, in any hacky or non-hacky way, to convert a synchronous function to an UnownedJob?
That's not a thing; just create a task and call the function in it.
Thanks, I thought so. It was more a question of curiosity than necessity. I don't know if the task idea fits in this case, since I want to keep the enqueue method as cheap as possible, and it would require a private actor for each executor instance. I think the best approach would be to change the custom executor's scheduler element type to a function instead of UnownedJob. I had hoped I could avoid this somehow.