Support punchthrough tokens that have lifetime restrictions#9
Support punchthrough tokens that have lifetime restrictions#9jaybosamiya-ms wants to merge 1 commit intomainfrom
Conversation
|
Ah, it looks like this particular feature breaks dyn-compatibility (thus the semver checks complaint). I'll have to think a little bit if it is possible to maintain dyn compatibility while also supporting the restricted lifetimes we want to support. I suspect it is not possible (we need to give up one or the other). In general, I don't expect us to ever want to have multiple runtime-generic platforms that are fully-runtime-dynamic-dispatched. Thus, I don't think we actually need dyn-compatibility. Indeed, we would still be able to support multiple static platforms at the same time if we wanted to, so this is not a major restriction. Thus, I feel we can give up on dyn compatibility here. |
|
As discussed with Jay this afternoon, the current design assumes that punchthrough does not block. One example of blocking punchthrough is futex (might be the only one). Either we remove |
|
What's the downside of just removing
|
I drafted a new PR: #10. I removed most punchthroughs and only kept syscalls, now it does not need to specify lifetime. |
Jay just told me futex could be supported in litebox given RawMutexProvider implementation and our single process assumption. Probably we won't have any blocking punchthroughs. |
|
I'm closing this PR, since it appears that we don't need it. If necessary, we can resurrect it. Keeping the |
This PR adds a generic lifetime bound to the associated type for the
PunchthroughToken, which allows us to more precisely capture lifetimes, and thereby de-restrict the conditions under which punchthrough tokens can be implemented (such as those with explicit lifetimes within them).