New week, new Rust! What are you folks up to?
Working on making the request body generic in
elastic. This should put us in a pretty good place once
hypers async API lands, because users will be able to supply their own body streams for stuff like bulk requests.
After discovering, much to my surprise, that there is no RCU construct in Cargo yet, studying a bit the matter in order to figure out what I could implement there.
Turns out the original Linux RCU is actually based on an incredibly ugly scheduling hack, which only an OS kernel could pull off. Any “user-space RCU” will have to either impose fairly unpleasant constraints on readers or to have much lower read performance. Moral of the story: synchronization is not cheap, and if you want cheap access to some data, you should really copy or move it to thread-local storage.
Completely redesigning rental as a proc macro to be able to support more elaborate use cases such as two or more levels of self-borrowing, and nested self-borrowing. This is made possible on stable by the use of procedural_masquerade.