Super interesting to explore the implementation of standard with commentary. Thanks!
I have watched only one video and that alone was enough to subscribe.
Came here for RefCell, stayed for that caching implementation
There are 4 desirable guarantees that can't exist at the same time. You always need to give up one: 1. Thread safety - (given up by &Cell, &RefCell, Javascript) 2. Synchronization free - (given up by &Mutex, Python) 3. Mutability - (given up by &T, Haskell) 4. Memory Safety - (given up by *mut T, C++) 5. Aliasing (given up by &mut T, Fortran) Rust gives these guarantees up on a per object basis, while other languages give them up entirely for simplicity.
There is a distracting ringing in the audio whenever speaking occurs. Is it possible to fix the audio in the video?
Great vid RefCell is one of my Rust "white whales" to wrap my head around this helped.
Thank you! You're quite good at convincing me not to learn rust. So much complexity and layering and working around its own rules
It is like Do in Haskell, without it is hard or impossible to implement some algorithms or data structures but also may be tempting to programers coming from other languages to do things "old ways"
I understand that this is for exemple purpose but I have to say: It bother me that your "get" function, that by your own words should be immutable, actually mutate the content of CachedComputation since it insert an entry into its HashMap if the input doesn't exist. In this case it seems the RefCel is used to hide this mutability. I guess you could argue that this function doesn't mutate anything already inside the hashmap,
arc mutex screaming
@GreenTeaCoding