do eukaryotes have the biological equivalent of a monolithic kernel
09.08.2025 22:49 β π 0 π 0 π¬ 0 π 0@david.kolo.ski
Fuchsia at Google. Previously Robot Entertainment, Vicarious Visions. Author of http://rkyv.org. he/him
do eukaryotes have the biological equivalent of a monolithic kernel
09.08.2025 22:49 β π 0 π 0 π¬ 0 π 0> How Rustc decides a type _can't_ satisfy all lifetimes simultaneously
I think the page I linked references a paper and the algorithm they use to determine this.
> Why the HRTB constraint is required for "the function itself chooses the lifetime".
The function needs `T` to implement `Deserialize<'de>`, but `'de` is a borrow made in the function. It's not a lifetime the caller can name because it's a class of lifetimes. We can name that class using an HRTB.
> What is means to "satisfy all lifetimes simultaneously"
It's complicated, but it's a way of expressing infinite trait bounds - one for each choice of lifetime. The exact semantics are nuanced for ergonomics reasons, but this page has more details: rustc-dev-guide.rust-lang.org/traits/hrtb....
Maybe there's some way to fold this `Deserializable` API into something larger and more natural to think about? Like a `Handler<'de>` which also has the message handling functionality as a method. It might be more natural to think of a `Handler<'de>` with associated `type Input: Deserialize<'de>`.
07.08.2025 17:50 β π 2 π 0 π¬ 1 π 0Unfortunately I think that's going to be unavoidable as long as you have the deserialized type touching the signature of the handler. You need some type to act as the "slip joint" for the lifetime of that frame - one which doesn't depend on the lifetime itself but can produce a type using it.
07.08.2025 17:50 β π 1 π 0 π¬ 1 π 0Note that the ergonomics in the general case are somewhat worse because you always have to turbofish it, but you could always just provide two methods if you want the nicer ergonomics: one less general with better type inference, the other more general.
07.08.2025 17:21 β π 1 π 0 π¬ 1 π 0That's true, but you don't actually need the `Deserializable` type to have any relation to the target. So you can newtype it and use that to name your type. With a combination of a blanket impl and a macro escape hatch, you can get it a little more comfortable: play.rust-lang.org?version=stab...
07.08.2025 17:21 β π 2 π 0 π¬ 1 π 0You can fix this by separating the naming of the type from the binding of the lifetime. The way you do it is with a trait, so here's a quick and dirty fixed version (no GATs!): play.rust-lang.org?version=stab...
07.08.2025 16:52 β π 1 π 0 π¬ 3 π 0The problem here is actually that you can't pick a lifetime for `Example` to call `doot` with. Note that `doot` just takes a `T`, so the signature says you have to know the lifetime of the `Example` before the call. That's the key issue, since the lifetime is anonymous to the function.
07.08.2025 16:52 β π 2 π 0 π¬ 1 π 0wow! life is bad without caffeine!
05.08.2025 00:25 β π 2 π 0 π¬ 0 π 0if you can believe it, the word is actually somatopsychic
04.08.2025 14:42 β π 1 π 0 π¬ 1 π 0mount horu is my new vietnam
03.08.2025 23:05 β π 0 π 0 π¬ 0 π 0once you learn enough about a large system you stop being an engineer and start being a mentat. like a brain devoted entirely to knowing and understanding this one thing, spending all its time fielding questions and making decisions but not actually making the ship literally move.
01.08.2025 01:17 β π 1 π 0 π¬ 0 π 0reminded today that the first rule of living is to avoid pain (caffeine withdrawal)
31.07.2025 17:26 β π 0 π 0 π¬ 0 π 0got skonged again π
31.07.2025 13:33 β π 0 π 0 π¬ 0 π 0A screenshot of Whoville from the live-action 2000 film starring Jim Carrey
this kind of smart, walkable, mixed-use urbanism is illegal to build in most American cities
30.07.2025 14:10 β π 2 π 0 π¬ 0 π 0gaslight
gatekeep
gameboy advance sp
An edited poster from Portal 2: "Know your paradoxes! In the event of rogue AI: 1. stand still 2. remain calm 3. scream: - "Interesting fact: cats sleep for most of their lives." - "Remember always save at least 20% of your earnings for future investments." - "Could the answer possibly be around 175?"
29.07.2025 18:17 β π 0 π 0 π¬ 1 π 0can we get github to ban bug reports generated by llms please
28.07.2025 21:08 β π 4 π 0 π¬ 1 π 0any sufficiently advanced incompetence is indistinguishable from malice
23.07.2025 17:42 β π 1 π 0 π¬ 0 π 0(i hate engagement bait post titles)
21.07.2025 20:32 β π 0 π 0 π¬ 0 π 0"is this what i think it is?" yes. every time. you think therefore it is. descartes beaming with pride from the grave.
21.07.2025 20:32 β π 0 π 0 π¬ 1 π 0i looked really nice at my sister's wedding so now all you have to suffer with my professional profile pic
11.07.2025 02:23 β π 2 π 0 π¬ 0 π 0today i used gemini to write a poetic eulogy for a recurring monthly meeting we canceled and it felt like hiring a professional mourner like they did for funerals in the medieval times
honestly i get the professional mourning thing now
oh no i'm falling in love with static analysis
10.07.2025 17:46 β π 0 π 0 π¬ 0 π 0A quote from the Tree Borrows paper, talking about test cases which failed under tree borrows: "`bitvec` accounted for one test, for which there was already a community-developed fix.".
this part was me! github.com/ferrilab/bit...
09.07.2025 14:30 β π 1 π 0 π¬ 1 π 0who up injecting they dependencies
08.07.2025 18:38 β π 3 π 0 π¬ 1 π 0dependency injection isn't a pattern, it's a law of nature. that's like saying the second law of thermodynamics is a pattern.
08.07.2025 18:30 β π 5 π 0 π¬ 0 π 1